Apache环境
1)开启Apache重写模块,具体请百度,如果使用空间一般空间商默认已经开启;
2)到后台配置参数中开启伪静态开关;
3)在站点目录建立.htaccess文件(可到源码包rewrite目录下拷贝规则),规则内容如下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
Nginx环境
1、到后台配置参数中开启伪静态;
2、在nginx虚拟主机location配置中添加规则,规则如下:
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/admin.php/(.*)$ /admin.php?/$1 last;
rewrite ^/(.*)$ /index.php?/$1 last;
}
IIS7+环境(IIS6的环境自行百度):
1)安装rewrite组件,如果使用空间一般空间商默认已经安装;
2)到后台配置参数中开启伪静态开关;
3)在站点目录建立web.config文件(可到源码包rewrite目录下拷贝规则),规则内容如下:
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
#要过滤的文件名和文件夹方法 (?!/要过滤的文件名或者目录名) 如后台入口文件 (?!/admin.php)
#直接加到下面 ^的后面即可
RewriteRule ^(?!/admin.php)(?!/favicon.ico)(?!/attachment)(?!/packs)(?!/index.php)(.*)$ /index.php/$1 [I]
注意:Nginx中如果站点部署在二级目录,请对应修改重写规则, 如:二级目录为test则:rewrite ^/test/(.*)$ /test/index.php?p=$1 last;