標簽作用:配置程序偽靜態(tài)后URL中將不再包含index.php,整個地址更美觀
1)安裝rewrite組件,如果使用空間一般空間商默認已經(jīng)安裝;
2)到后臺配置參數(shù)中開啟偽靜態(tài)開關;
3)在站點目錄建立web.config文件(可到源碼包rewrite目錄下拷貝規(guī)則),規(guī)則內(nèi)容如下:
#1.X版本使用如下規(guī)則: <?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+版本使用如下規(guī)則: <?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>
1)開啟Apache重寫模塊,具體請百度,如果使用空間一般空間商默認已經(jīng)開啟;
2)到后臺配置參數(shù)中開啟偽靜態(tài)開關;
3)在站點目錄建立.htaccess文件(可到源碼包rewrite目錄下拷貝規(guī)則),規(guī)則內(nèi)容如下:
#1.X版本使用如下規(guī)則: <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f #如果頁面出現(xiàn)"No input file specified." 請注釋第一條,啟用第二條 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] #RewriteRule ^(.*)$ index.php [E=PATH_INFO:$1,QSA,PT,L] </IfModule>
#2.X+版本使用如下規(guī)則: <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>
1、到后臺配置參數(shù)中開啟偽靜態(tài);
2、在nginx虛擬主機location配置中添加規(guī)則,規(guī)則如下:
#1.X版本使用如下規(guī)則: location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php/$1 last; } }
#2.X+版本使用如下規(guī)則: location / { if (!-e $request_filename){ rewrite ^/(.*)$ /index.php?p=$1 last; } }
注意:Nginx中如果站點部署在二級目錄,請對應修改重寫規(guī)則, 如:二級目錄為test則:rewrite ^/test/(.*)$ /test/index.php?p=$1 last;
location ~ .php(.*)$ {
root D:/wwwroot; #你的網(wǎng)站目錄,注意修改
fastcgi_pass 127.0.0.1:9000; #php-cgi監(jiān)聽地址
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;
}