pbootcms去除URL地址中index.php路径
PbootCMS内核框架采用单入口pathinfo方式,因此所有地址的访问默认都带有index.php。
去除方法:
要去除它很简单,只要开启伪静态即可,具体可参考手册中伪静态的说明:
pbootcms伪静态配置教程(IIS7、Apache、Nginx)
pbootcms伪静态配置教程,针对IIS7环境、Apache环境、Nginx环境不同的配置方案,配置程序伪静态后URL中将不再包含index.php,整个地址更美观。
1、IIS7+环境(IIS6的环境自行百度):
1)安装rewrite组件,如果使用虚拟空间一般空间商默认已经安装;
2)到网站后台配置参数中开启伪静态开关;
3)在站点目录建立web.config文件(可到源码包rewrite目录下拷贝规则),规则内容如下:
查看源码
#Pbootcms 2.X+版本使用如下规则:
<?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目录下拷贝规则),规则内容如下:
查看源码
#Pbootcms 2.X+版本使用如下规则:
<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主机配置中添加伪静态规则,规则如下:
查看源码
#Pbootcms 2.X+版本使用如下规则:
location / {
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php?p=$1 last;
}
}
注意:Nginx中如果站点部署在二级目录,请对应修改重写规则, 代码如下:
查看源码
#Pbootcms 2.X+版本使用如下规则:
location / {
if (!-e $request_filename){
rewrite ^/(.)$/二级目录/index.php/$1 last;
}
关于pbootcms去除URL地址中index.php路径的问题,希望能够帮到您,感谢观看,如果觉得不错记得点个关注亲!