• 注册
  • 开发教程 开发教程 关注:7 内容:31

    pbootcms的伪静态配置

  • 查看作者
  • 打赏作者
  • 当前位置: 站长社区 > pbootcms > 开发教程 > 正文
    • 开发教程
    • 学长
      VIP 1
      头号粉丝

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

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

       注意: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;

      }

      站长社区是大家的网站,我们共同努力,风雨共济,打造一个优秀的站长交流学习平台。

      请登录之后再进行评论

      登录

      分享有礼

    • 发表内容
    • 做任务
    • 实时动态