2012-04-19 59 views
0

我們正在改變一個網站的結構和舊的網址是這樣的:的.htaccess檢查specfic查詢字符串屬性

http://www.website.co.uk/pages.php?PageId=7 

新的網址是:

http://www.website.co.uk/niceurl 

而且我有這個的.htaccess與我使用的CMS一起使用,所以它的核心功能不能以不同的方式工作。

<IfModule mod_rewrite.c> 

Options +FollowSymLinks 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}/index.html !-f 
RewriteCond %{REQUEST_FILENAME}/index.php !-f 

RewriteRule ^(.*)$ index.php/$1 

</IfModule> 

我真的做的是檢查,如果得到請求pages.php是,如果是無視規則:

RewriteRule ^(.*)$ index.php/$1 

則此規則後,做這樣的事情:

RewriteRule ^PageId=7(.*)$ /niceurl [R=301] 

任何幫助,將不勝感激。

回答

0

解決辦法:

<IfModule mod_rewrite.c> 

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}/index.html !-f 
RewriteCond %{REQUEST_FILENAME}/index.php !-f 

RewriteCond %{QUERY_STRING} !(PageId=7) 

RewriteRule ^(.*)$ index.php/$1 

RewriteCond %{QUERY_STRING} PageId=7 
RewriteRule .* /niceurl? [R=302,L] 

</IfModule>