為了更好的實現(xiàn)SEO優(yōu)化,,我們需要隱藏URL地址中的index.php,由于不同的服務(wù)器環(huán)境配置方法區(qū)別較大,,apache環(huán)境下面的配置我們可以參考5.9 URL重寫來實現(xiàn),,就不再多說了,這里大概說明下IIS和Nginx下面的基本配置方法和思路。
IIS環(huán)境
如果你的服務(wù)器環(huán)境支持ISAPI_Rewrite的話,,可以配置httpd.ini文件,,添加下面的內(nèi)容:- RewriteRule (.*)$ /index\.php\?s=$1 [I]
在IIS的高版本下面可以配置web.Config,在中間添加rewrite節(jié)點:- <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>
Nginx環(huán)境
在Nginx低版本中,,是不支持PATHINFO的,,但是可以通過在Nginx.conf中配置轉(zhuǎn)發(fā)規(guī)則實現(xiàn):- location / { // …..省略部分代碼
- if (!-e $request_filename) {
- rewrite ^(.*)$ /index.php?s=$1 last;
- break;
- }
- }
其實內(nèi)部是轉(zhuǎn)發(fā)到了ThinkPHP提供的兼容模式的URL,利用這種方式,,可以解決其他不支持PATHINFO的WEB服務(wù)器環(huán)境,。
如果你的ThinkPHP安裝在二級目錄,Nginx的偽靜態(tài)方法設(shè)置如下,,其中youdomain是所在的目錄名稱,。- location /youdomain/ {
- if (!-e $request_filename){
- rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=$1 last;
- }
- }
1
|