配置nginx支援pathinfo功能

2021-06-05 16:23:09 字數 2185 閱讀 7045

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...