tp5 url 線上訪問 在nginx 上 出現404錯誤,解決辦法(1.80nginx 配置 pathInfo)
對於ThinkPHP的URL訪問路勁如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支援的pathinfo路勁的,導致你在thinkPHP5上面測試的時候,輸入相應的URL也不會提示模組名,控制器名或者方法名錯誤,而是出現一個404找不到的錯誤,那是因為Nginx無法解析這樣的連結,下面講講如何配置:
首先找到 nginx.conf
1、只實現pathInfo
筆者的位置在 /usr/local/nginx/conf 下
vim /usr/local/nginx/conf/nginx.conf
location ~ \.php { #去掉$
root H:/PHPServer/WWW; 筆者這裡預設是 html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$; #增加這一句
fastcgi_param PATH_INFO $fastcgi_path_info; #增加這一句
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
這樣就實現了nginx 支援pathInfo
2、實現完全支援tp5 隱藏index.php 以及支援 pathinfo 栗子:
server {
listen 8082;
server_name localhost;
charset utf-8;
access_log logs/host.access.log main;
root /usr/local/nginx/html/thinkphp/public;
index index.html index.htm index.php;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
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;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
}
相關文章
- springMVC資料驗證出現404錯誤解決辦法SpringMVC
- wordress小程式圖片訪問出現404問題解決辦法
- scp出現錯誤的解決辦法
- php在iis上配置時報mysql_connect錯誤解決辦法PHPMySql
- Mysql出現連線錯誤解決辦法MySql
- ThinkPHP5 + nginx配置(index.php無法訪問404)PHPNginxIndex
- nginx FastCGI錯誤Primary script unknown解決辦法NginxAST
- nginx出現403錯誤的解決方法Nginx
- apache出現 403 permission 和404 not fund錯誤(解決方法)Apache
- nginx配置 vue打包後的專案 解決重新整理頁面404問題|nginx配置多端訪問NginxVue
- git add .出現錯誤LF will be replaced by CRLF in 解決辦法Git
- Steam錯誤程式碼138怎麼辦?無法訪問社群提示138錯誤解決方法
- haproxy1.5.15代理下,使用IE訪問url裡傳輸中文引數時錯誤解決辦法.
- NPM run dev 出現這樣錯誤我的解決辦法NPMdev
- PbootCMS 404 錯誤解決方法boot
- 解決Ubuntu配置nginx出現的問題UbuntuNginx
- SAP錯誤提示解決辦法
- Servlet訪問WebService出現錯誤ServletWeb
- dns錯誤怎麼辦 dns錯誤的解決辦法DNS
- 配置nginx支援pathinfo功能Nginx
- man出錯解決辦法
- github訪問受限解決辦法Github
- 關於IIS安裝後出現500錯誤的解決辦法
- 在紅旗DC server 6.0上安裝oracle 11gR2時出現的錯誤,以及解決辦法ServerOracle
- GitHub無法訪問或訪問緩慢解決辦法Github
- FileUpload上傳多檔案時出現“無法訪問已關閉的檔案”錯誤的解決方法
- 在使用Apple M1晶片重新安裝macOS出現錯誤的解決辦法APP晶片Mac
- 連線oracle錯誤解決辦法Oracle
- nginxFastCGI錯誤Primaryscriptunknown解決辦法NginxAST
- Unable to locate package錯誤解決辦法Package
- oracle 1455 錯誤解決辦法Oracle
- 畢設之錯誤解決辦法
- Nginx出現413 Request Entity Too Large錯誤解決方法Nginx
- tp5.0.20 分頁跳轉時URL錯誤的解決辦法
- 出現可怕的NoSuchMethodError錯誤的解決辦法 -Gunnar MorlingError
- 解決:LNMP架構下訪問php頁面出現500錯誤薦LNMP架構PHP
- 伺服器出現500錯誤的原因和解決辦法伺服器
- 無法訪問google picasa的解決辦法Go