PbootCms内页打不开的常见情况汇总
前言
最近看打后台记录,有同学遇到PbootCms内页无法正常访问的情况。包括但不限于:
1、点任何链接都跳转到首页
2、内页访问报错。
出现这些问题80%都是伪静态没搞对。
解决方案
最简单粗暴的方案就是关闭伪静态,使用兼容模式,操作如下:
如果需要使用伪静态,那么首先看下你的服务器环境是,IIS,还是Apache,或者Nginx。
1、IIS7+环境(IIS6的环境自行百度):
1)安装rewrite组件,如果使用空间一般空间商默认已经安装;
2)到后台配置参数中开启伪静态开关;
3)在站点目录建立web.config文件(可到源码包rewrite目录下拷贝规则),规则内容如下:
- #1.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/{R:1}" appendQueryString="true" />
- </rule>
- </rules>
- </rewrite>
- </system.webServer>
- </configuration>
- #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目录下拷贝规则),规则内容如下:
- #1.X版本使用如下规则:
- <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]
- </IfModule>
- #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虚拟主机location配置中添加规则,规则如下:
- #1.X版本使用如下规则:
- location / {
- if (!-e $request_filename){
- rewrite ^/(.*)$ /index.php/$1 last;
- }
- }
- #2.X+版本使用如下规则:
- location / {
- if (!-e $request_filename){
- rewrite ^/(.*)$ /index.php?p=$1 last;
- }
- }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。