2014-02-21 90 views
1

我需要301重定向一個URL到另一個。現在,我已經在.htaccessHtaccess 301重定向一個網址到另一個特殊字符不工作

RewriteRule /forum/viewtopic.php?f=65&t=6 /page/name-of-the-page [R=301]

RewriteRule /forum/viewtopic.php?f=30&t=5 /page/another-name-of-the-page [R=301]

這個規則,但它不工作的。可以請任何人幫助我嗎?

非常感謝您提前!

+0

你能否讓其他RewriteRules成功啓動?你應該考慮配置RewriteLog的調試目的(http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritelog) –

+0

是的,我有更多的規則和一切工作,但這些簡單的線不。我想,問題是與?f = 65&t = 6等,因爲簡單的重寫規則/論壇/ /頁/名稱的頁面[R = 301]工作:( – Pupik

回答

2

你不能匹配查詢字符串使用RewriteRule。使用這樣的:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^f=65&t=6$ 
RewriteRule ^forum/viewtopic\.php$ /page/name-of-the-page? [R=301,L] 

RewriteCond %{QUERY_STRING} ^f=30&t=5$ 
RewriteRule ^forum/viewtopic\.php$ /page/another-name-of-the-page? [R=301,L] 

?到底是用於剝離斷任何現有的查詢字符串。

+0

非常感謝,它沒有工作,但我'我會試着去處理這個問題,也許我會發現 – Pupik

+0

只要確保這些是您的.htaccess中的前2條規則,並且確保'/ forum /'文件夾中沒有.htaccess。 – anubhava

+0

哈,它的工作原理!我在/ forum/viewtopic \ .php $之前使用了/而不是^,所以我有/forum/viewtopic\.php$,它的功能就像是一個魅力,非常感謝! – Pupik

0
RewriteRule /forum/viewtopic.php?f=30&t=5 /page/another-name-of-the-page [R=301] 
RewriteRule /forum/viewtopic.php?f=65&t=6 /page/name-of-the-page [R=301] 

只是順序顛倒,它應該工作!

+0

對不起,不工作:( – Pupik

相關問題