什麼是pathinfo,pathinfo是PHP的一個函數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(/|$) { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; include pathinfo.conf; }
若是你配置的有虛擬主機,這個地方同上,修改下就OK了spa