中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ThinkPHP中nginx配置有哪些坑

發布時間:2020-12-31 14:58:03 來源:億速云 閱讀:300 作者:小新 欄目:編程語言

這篇文章主要介紹了ThinkPHP中nginx配置有哪些坑,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

THINKPHP 的 NGINX 配置踩坑

今天在用一個以 tp 為基礎的快速開發框架時遇到一些問題:

nginx 報錯截圖

ThinkPHP中nginx配置有哪些坑

為了方便說明進行手動換行

// 處理時重寫或內部重定向循環
2019/11/11 11:16:06 [error] 15164#15432: *1 rewrite or internal redirection cycle while processing 
    "/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index/user/index.html", 
    client: 127.0.0.1, 
    server: xxxxx, 
    request: "GET /index/user/index.html HTTP/1.1", 
    host: "xxxxx", 
    referrer: "xxxxx"

錯誤配置

參考 larvael 配置

server {
    .
    .
    .
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    .
    .
    .
    location ~ \.php$ {
        fastcgi_pass127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
    .
    .
    .
}

發現所有路徑都一樣,都是首頁效果

初步判斷 nginx 重寫規則有問題

# 路徑 / 開頭之后都走這個匹配
# 如 /index /index/user 
location / {
    # $uri 本地有就返回,或者$uri/ 本地有目錄就返回,或者走后面的重寫
    # 本地是指在網站根目錄下,如 當 $uri=index 就是看根目錄下面有 index 文件或者 index/ 目錄
    try_files $uri $uri/ /index.php?$query_string;
}

開始報錯


解決問題

網上查詢后 tp5 的配置應為

    location / {
        try_files $uri $uri/ /index.php$uri;
    }

改后,發現問題沒解決;對比配置發現

  # location ~ \.php$ 改成  location ~ \.php(.*)$
    location ~ \.php(.*)$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include fastcgi_params;
    }

解決,完整配置

server {
    listen       80;
    server_name  xxxxxxx ;
    root  www;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";
    charset utf-8;
    index index.html index.htm index.php;
    location / {
        try_files $uri $uri/ /index.php$uri;
    }
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
    error_page 404 /index.php;
    location ~ \.php(.*)$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include fastcgi_params;
    }
    location ~ /\.(?!well-known).* {
        deny all;
    }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ThinkPHP中nginx配置有哪些坑”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正阳县| 沙雅县| 同江市| 孝义市| 安乡县| 长沙市| 桂阳县| 庐江县| 青岛市| 萝北县| 邵东县| 紫金县| 林周县| 湟中县| 南澳县| 曲松县| 屏边| 海伦市| 秦安县| 康平县| 旺苍县| 额敏县| 漳浦县| 衢州市| 卢湾区| 忻州市| 图们市| 高州市| 芜湖县| 古交市| 育儿| 德庆县| 怀仁县| 万源市| 樟树市| 平山县| 彭州市| 芷江| 连江县| 凤翔县| 多伦县|