前天小濤簡單的說了一下thinkphp在apache環境下是如何隐藏index.php的,為了更好的實作SEO優化,今天小濤在說一下在iis和nginx環境下是如何隐藏index.php的:
IIS環境
如果你的伺服器環境支援ISAPI_Rewrite的話,可以配置httpd.ini檔案,添加下面的内容:
RewriteRule (.*)$ /index\.php\?s=$1 [I]
在IIS的高版本下面可以配置web.Config,在中間添加rewrite節點:
lt;rewrite> <rules> <rule name=”OrgPage” stopProcessing=”true”> <match url=”^(.*)$” /> <conditions logicalGrouping=”MatchAll”> <add input=”{HTTP_HOST}” pattern=”^(.*)$” /> <add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” /> <add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” /> </conditions> <action type=”Rewrite” url=”index.php/{R:1}” /> </rule> </rules> </rewrite&gt
Nginx環境
在Nginx低版本中,是不支援PATHINFO的,但是可以通過在Nginx.txt中配置轉發規則實作:
location / { // …..省略部分代碼
if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break;
}
其實内部是轉發到了ThinkPHP提供的相容模式的URL,利用這種方式,可以解決其他不支援PATHINFO的WEB伺服器環境。
到這裡不管什麼環境下,都可以實作隐藏index.php的目的了,這樣就可以根據自己的需求的随心所欲了,哈哈……
技術分享,技術交流,小濤與您共同成長……
本文來自:http://www.zoneself.org/2012/04/27/content_1800.html