#### 偽靜態配置
標簽作用:配置程序偽靜態后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?p=$1?last;
?}
}
~~~
?注意:Nginx中如果站點部署在二級目錄,請對應修改重寫規則, 如:二級目錄為test則:rewrite ^/test/(.\*)$ /test/index.php?p=$1 last;