偽靜態配置

標簽作用:配置程序偽靜態后URL中將不再包含兼容模式的問號,整個地址更美觀,也便于推廣優化。

適用版本:2.X 、3.X

1、IIS7+環境(IIS6的環境自行百度):

1)安裝rewrite組件,如果使用空間一般空間商默認已經安裝;

2)到后臺配置參數中開啟偽靜態開關;

3)在站點目錄建立web.config文件(可到源碼包rewrite目錄下拷貝規則),規則內容如下:

<?xml?version="1.0"?encoding="UTF-8"?>
<configuration>
????<system.webServer>
????????<rewrite>
????????????<rules>
?????????????????<rule?name="reIndex"?stopProcessing="true">
????????????????????<match?url="^(.*)$"?ignoreCase="true"?/>
????????????????????<conditions?logicalGrouping="MatchAll">
????????????????????????<add?input="{REQUEST_FILENAME}"?matchType="IsDirectory"?negate="true"?/>
????????????????????????<add?input="{REQUEST_FILENAME}"?matchType="IsFile"?negate="true"?/>
????????????????????</conditions>
????????????????????<action?type="Rewrite"?url="index.php?p={R:1}"?appendQueryString="true"?/>
????????????????</rule>
????????????</rules>
????????</rewrite>
????</system.webServer>
</configuration>

2、Apache環境

1)開啟Apache重寫模塊,具體請百度,如果使用空間一般空間商默認已經開啟;

2)到后臺配置參數中開啟偽靜態開關;

3)在站點目錄建立.htaccess文件(可到源碼包rewrite目錄下拷貝規則),規則內容如下:

<IfModule?mod_rewrite.c>
??Options?+FollowSymlinks
??RewriteEngine?On
??
??RewriteCond?%{REQUEST_FILENAME}?!-d
??RewriteCond?%{REQUEST_FILENAME}?!-f
??
??RewriteRule?^(.*)$?index.php?p=$1?[QSA,PT,L]
</IfModule>

3、Nginx環境

1、到后臺配置參數中開啟偽靜態;

2、在nginx虛擬主機location配置中添加規則,規則如下:

location?/?{
	?if?(!-e?$request_filename){
	????	rewrite?^/index.php(.*)$?/index.php?p=$1?last;
????????????	rewrite?^(.*)$?/index.php?s=$1?last;
	?}
}

?注意:Nginx中如果站點部署在二級目錄,請對應修改重寫規則, 如:二級目錄為test則:rewrite ^/test/(.*)$ /test/index.php?p=$1 last;