2015-09-26 97 views
0

我想隱藏.php擴展名,並且還用尾部斜線重寫了url字符串。文件擴展名隱藏工作正常,但url字符串不是。htaccess文件擴展名隱藏和傳遞url字符串

來源:

http://www.example.com/abc.php?id1=1&id2=2 

要:

http://www.example.com/abc/id1/1/id2/2 

以下是我的.htaccess

RewriteEngine On 
Options -Multiviews 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{QUERY_STRING} (.*) 
RewriteRule ^(.*)\/([0-9]+)$ $1.php?id=$2&%1 [L] 

回答

1

首先,檢查%{THE_REQUEST}變量。如果滿足您的匹配條件,則重定向。

RewriteCond %{THE_REQUEST} ^GET\ /abc\.php\?(id1)=(\d+)&(id2)=(\d+) [NC] 
RewriteRule^/abc/%1/%2/%3/%4? [R=301,L] 

接下來,在內部重寫friendly-url。

RewriteRule ^abc/(id1)/(\d+)/(id2)/(\d+)$ /abc.php?$1=$2&$3=$4 [NC,L] 
相關問題