PbootCMS如何设置IIS、Apache和Nginx的伪静态规则设置以及二级目录伪静态规则

2022-05-06

PbootCMS如何设置IIS、Apache和Nginx的伪静态规则设置以及二级目录伪静态规则

伪静态配置

标签作用:配置程序伪静态后URL中将不再包含index.php,整个地址更美观

后台设置伪静态:全局配置——配置参数——URL规则——选择“伪静态模式”

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>

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>

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;
	 }
}

注意:Nginx中如果站点部署在二级目录,请对应修改重写规则, 如:二级目录为test则:rewrite ^/test/(.*)$ /test/index.php?p=$1 last;

附:nginx开启PHP及pathinfo支持的方法,在server内部添加如下内容:

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;
}
资源下载此资源仅限注册用户下载,请先
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

免责声明 1、本站所发布的全部内容源于互联网搬运,(包括源代码、软件、学习资料等)本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的23个小时之内,从您的电脑或手机中彻底删除上述内容。
2、访问本站的用户必须明白,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!敬请谅解! 侵删请致信E-mail:messi0808@qq.com
3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为www.77code.com
4、如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

琪琪源码网 cms教程 PbootCMS如何设置IIS、Apache和Nginx的伪静态规则设置以及二级目录伪静态规则 https://www.77code.com/zh/cms/1458.html

相关文章