nginx中path模式配置示例
nginx服務(wù)器默認(rèn)是不支持pathinfo模式的,即類似index.php/index形式的url會提示404。在這里,需要對nginx配置文件中需要開啟pathinfo模式的server予以修改配置,修改nginx.conf文件如下:
server{
server_name blog.com;
listen 80;
root /home/wwwroot/blog;
index index.php index.html index.htm;
access_log /data/log/blog.access.log;
error_log /data/log/blog.error.log;
location / {
index index.php;
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php {
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
include fcgi_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;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 7d;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root /home/wwwroot/;
}
}
并添加fcgi_pathinfo.conf如下:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param REDIRECT_STATUS 200;
重要的就是,~\.php后面不能有$,以便能夠匹配所有*.php/*形式的url,并且if與后面的括號之間必須有一個(gè)空格。
完畢之后,重啟nginx。
相關(guān)文章
Nginx端口被占用的解決方案(systemctl restart nginx失敗)
ginx (engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器,它也是一種輕量級的Web服務(wù)器,可以作為獨(dú)立的服務(wù)器部署網(wǎng)站(類似Tomcat),本文給大家介紹了NGINX啟動報(bào)錯(cuò),端口被占用解決方案,需要的朋友可以參考下2024-10-10
讓VIM支持Nginx .conf文件語法高亮顯示功能的方法
這篇文章主要給大家介紹了關(guān)于讓VIM支持Nginx .conf文件語法高亮顯示功能的方法,文中分別介紹了手動修改和自動化腳本兩種方法的實(shí)現(xiàn),都給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07
使用Nginx實(shí)現(xiàn)負(fù)載均衡的策略
本篇文章主要介紹了使用Nginx實(shí)現(xiàn)負(fù)載均衡的策略,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
Nginx+Keepalived實(shí)現(xiàn)雙機(jī)熱備
這篇文章主要介紹了Nginx+Keepalived實(shí)現(xiàn)雙機(jī)熱備,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
詳解nginx過濾url實(shí)現(xiàn)前臺js的配置問題
本篇文章主要介紹了nginx過濾url實(shí)現(xiàn)前臺js的配置問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01

