标签作用:配置程序伪静态后URL中将不再包含index.php,整个地址更美观 1、IIS环境(IIS6的环境自行百度): 1)安装rewrite组件,如果使用空间一般空间商默认已经安装; 2)到后台配置参数中开启伪静态开关(老版本直接修改程序config/config.php文件url_type=2); 3)在站点目录建立web.config文件(老版本根目录下默认已有,去除后缀bak即可,新版本到rewrite目录下拷贝规则),手动建立的话规则如下: coderewriterules rule nam […]
标签作用:配置程序伪静态后URL中将不再包含index.php,整个地址更美观
1、IIS环境(IIS6的环境自行百度):
1)安装rewrite组件,如果使用空间一般空间商默认已经安装;
2)到后台配置参数中开启伪静态开关(老版本直接修改程序config/config.php文件url_type=2);
3)在站点目录建立web.config文件(老版本根目录下默认已有,去除后缀bak即可,新版本到rewrite目录下拷贝规则),手动建立的话规则如下:
<code><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/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</code>
2、Apache环境
1)开启Apache重写模块,具体请百度,如果使用空间一般空间商默认已经开启;
2)到后台配置参数中开启伪静态开关(老版本直接修改程序config/config.php文件url_type=2);
3)在站点目录建立.htaccess文件(老版本根目录下默认已有,新版本到rewrite目录下拷贝规则),内容如下:
<code><IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
#如果页面出现"No input file specified." 请注释第一条,启用第二条
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
#RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L]
</code>
2、Nginx环境
1、到后台配置参数中开启伪静态(老版本直接修改程序config/config.php文件url_type=2);
2、在nginx虚拟主机location配置中添加规则,规则如下:
<code> location / {
if (!-e $request_filename){
rewrite ^/(.)$ /index.php/$1 last;
}
}
</code>
注意:Nginx中如果站点部署在二级目录,请对应修改重写规则, 如:二级目录为test则:rewrite ^/test/(.)$ /test/index.php/$1 last;
附:nginx开启PHP及pathinfo支持的方法,在server内部添加如下内容:
<code>location ~ .php(.*)$ {
root D:/wwwroot; #你的网站目录
fastcgi_pass 127.0.0.1:9000; #php-cgi监听地址
fastcgi_index index.php; #默认页
fastcgi_split_path_info ^(.+.php)(.*)$; #分离路径
fastcgi_param PATH_INFO $fastcgi_path_info; #添加PATH_INFO信息
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
</code>
Apache环境和IIS环境默认在根目录加了伪静态规则了,不需要操作,只要主机支持伪静态即可。
Nginx环境,请打开nginx.txt文件,把里面的代码复制到配置中,下面我们以宝塔为例,
伪静态规则的文件在
这样就完成了