nginx模式不支援pathinfo模式,類似info.php/hello形式的url會被提示找不到頁面。下面的通過正則找出實際檔案路徑和pathinfo部分的方法,讓nginx支援pathinfo。
location ~ \.php$
fastcgi_param script_filename $document_root$real_script_name;
fastcgi_param script_name $real_script_name;
fastcgi_param path_info $path_info;
include fastcgi_params;
}要點:
1.~ \.php 後面不能有$ 以便能匹配所有 *.php/* 形式的url
2. 通過設定更改 script_filename
我在實際使用張將這段**融合到了fastcgi_params中。下面是我的nginx配置檔案示例:
配置虛擬主機部分,支援pathinfo的nginx**如下:
## 在nginx.conf的server部分:
server
}##要點: \.php 後面沒有$,以便匹配所有 *.php/* 形式
##重點**見 fastcgi.conf 開頭部分
fastcgi.conf **如下:
fastcgi_pass 127.0.0.1:9000;
##fastcgi_index index.php;
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$")
fastcgi_param script_filename $document_root$real_script_name;
fastcgi_param script_name $real_script_name;
fastcgi_param path_info $path_info;
## 以上是支援pathinfo的重點部分
fastcgi_param gateway_inte***ce cgi/1.1;
fastcgi_param server_software nginx;
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 script_filename $document_root$fastcgi_script_name;
#fastcgi_param script_name $fastcgi_script_name; 這兩行是需要注釋掉的。請注意
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 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;
# php only, required if php was built with --enable-force-cgi-redirect
#fastcgi_param redirect_status 200;
配置Nginx支援php
nginx.conf中配置 server error page 404 404.html redirect server error pages to the static page 50x.html error page 500 502 503 504 50x.html location 50x....
配置nginx支援ngx lua waf
個人學習筆記,謝絕 原文 ngx lua waf 是乙個基於 ngx lua 的 開源的web 應用防火牆,使用簡單,高效能和輕量級。1 安裝luajit2.0 luajit是採用c語言寫的lua 的直譯器,這裡推薦使用lujit2.1做lua支援 wget tar xf luajit 2.0.5....
配置nginx支援Https
配置nginx支援https一定要先使用stop停止nginx然後重新代開不能使用reload 一 安裝letsencrypt 1.從git上轉殖下來 git clone 2.切換到letsencrypt中 cd letsencrypt 執行以下的命令 a c certbot auto certon...