nginx配置pathinfo模式,解決訪問404
什麼是pathinfo,pathinfo是php的乙個函式
pathinfo() 函式以陣列或字串的形式返回關於檔案路徑的資訊。pathinfo模式就是www.test.com/index.php/aa/bb/cc,訪問aa模組下bb控制器的cc方法.相容模式就是普通的模式加s=/引數/或者m=model&a=action這樣的 各個開發框架都自己特定的格式。返回的陣列元素如下:
[dirname]:返回檔案路徑中的目錄部分
[basename]:返回檔案路徑中檔名的部分
[extension]:返回檔案路徑中檔案的型別的部分
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的先例,只是我沒有搜尋到答案而已。突然間感覺網上好迷茫,乙個小小的...