nginx下配置thinkphp5.0支援pathinfo模式
阿新 • • 發佈:2018-12-16
測試一個新專案,使用lnmp.org裡的一鍵包搭建的環境,部署好專案後,發現只能進入首頁,其他頁面均是404,發現是nginx配置預設不支援TP的pathinfo模式,出現404頁面的地址規則:http://serverName/index.php/模組/控制器/操作/[引數名/引數值...] 檢查配置檔案,發現/usr/local/nginx/conf目錄下有一個pathinfo.conf檔案,nginx預設沒有使用這個檔案。 一,修改pathinfo.conf:
set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info;
二,修改nginx.conf檔案,註釋掉第14行,include enable-php.conf,在下面加一句include enable-php-pathinfo.conf;引入pathinfo.conf檔案,重啟nginx,網站可以正常訪問。
1 server 2 { 3 listen 80 default_server; 4 #listen [::]:80 default_server ipv6only=on; 5 server_name dev.xy.com xy.com; 6 index index.html index.htm index.php; 7 root /home/wwwroot/xingyuan/xingyuan; 8 9 #error_page 404 /404.html; 10 11 # Deny access to PHP files in specific directory 12 #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; } 13 14 #include enable-php.conf; 15 include enable-php-pathinfo.conf; 16 location /nginx_status 17 { 18 stub_status on; 19 access_log on; 20 } 21 22 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 23 { 24 expires 30d; 25 } 26 27 location ~ .*\.(js|css)?$ 28 { 29 expires 12h; 30 } 31 32 location ~ /.well-known { 33 allow all; 34 } 35 }