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;