nginx配置pathinfo模式,解決訪問404

2021-08-17 12:08:23 字數 914 閱讀 4108

nginx配置pathinfo模式,解決訪問404

什麼是pathinfo,pathinfo是php的乙個函式

pathinfo() 函式以陣列或字串的形式返回關於檔案路徑的資訊。

返回的陣列元素如下:

[dirname]:返回檔案路徑中的目錄部分

[basename]:返回檔案路徑中檔名的部分

[extension]:返回檔案路徑中檔案的型別的部分

pathinfo模式就是www.test.com/index.php/aa/bb/cc,訪問aa模組下bb控制器的cc方法.相容模式就是普通的模式加s=/引數/或者m=model&a=action這樣的 各個開發框架都自己特定的格式。

pathinfo模式需要伺服器支援

修改/usr/local/php/etc下的php.ini

將cgi.fix_pathinfo=1來完成路徑資訊的獲取,但同時會帶來安全隱患,需要把cgi.fix_pathinfo=0設定為0,這樣php就獲取不到path_info資訊,那些依賴path_info進行url美化的程式就失效了。

下面介紹另乙個方法.

將倒數第五行改為include enable-php-pathinfo.conf;(我這裡用的是lnmp包1.4,不同的包可能有所不同)

引入已經配置好的,pathinfo模式配置檔案,看下enable-php-pathinfo.conf檔案內容

location ~ [^/]\.php(/|$)

配置nginx支援pathinfo功能

nginx模式不支援pathinfo模式,類似info.php hello形式的url會被提示找不到頁面。下面的通過正則找出實際檔案路徑和pathinfo部分的方法,讓nginx支援pathinfo。location php fastcgi param script filename documen...

配置修改Nginx支援 PATHINFO

thinkphp支 持通過pathinfo和url rewrite的方式來提供友好的url,只需要在配置檔案中設定 url model 2 即可。在apache下只需要開啟mod rewrite模組就可以正常訪問了,但是nginx中預設是不支援pathinfo的,所以我們需要修改 nginx.con...

nginx中配置pathinfo模式運用例項

很久不使用apache了,漸漸對apache感到陌生,因為朋友有個zendframework框架從apache移到nginx下,需要pathinfo模式支援。網上海搜 繼續摸索 最後堅持 按理說我感覺應該有nginx thinkphp的先例,只是我沒有搜尋到答案而已。突然間感覺網上好迷茫,乙個小小的...