偽靜態規則配置

作者: admin 2020-11-12

偽靜態配置

標簽作用:配置程序偽靜態后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;

}


    站長學院

?
友情鏈接: 后臺管理 網站模板 公司注銷 北京注冊公司 公司變更 上海試管 閘門廠家
QQ在線咨詢
骚虎官网在线观看,騒虎官网在线观看入,骚虎视频在线观看