2015-07-10 66 views
0

我在我的localhost文件夾「abcd」上有了wordpress網站。Htaccess帶參數的RewriteRule拋出404錯誤

地址如下所示:localhost/abcd。我想將localhost/abcd/xxx/first/second重定向到localhost/abcd/xxx?a=first&b=second

我寫了這個htaccess的代碼,但它是不正確的頁面拋出404錯誤:

RewriteRule ^xxx/([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ /abcd/xxx?a=$1&b=$2 [QSA] 

有什麼不對?

這都是我的.htaccess文件:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /abcd/ 
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /abcd/index.php [L] 
    RewriteRule ^xxx/([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ /abcd/xxx?a=$1&b=$2 [QSA] 
    </IfModule> 

回答

0

有一個在你的模式,以防止匹配的結束斜線。此外,^表示頁面名稱的開始,因此請將其刪除或使用^abcd/...。以下應該工作:

RewriteRule ^abcd/xxx/([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ /abcd/xxx?a=$1&b=$2 [QSA]

+0

感謝您的回答,但它仍然無法正常工作。我再次遇到404錯誤。 –

+0

我給你的規則與你提供的URL匹配(看看[這個工具](http://martinmelin.se/rewrite-rule-tester/),事先測試你的規則會很有用)。 您確定目的地有效嗎?你真的需要'[QSA]'標誌嗎? –

+0

感謝這個工具,它非常有用。我認爲這是wordpress的問題。我不確定使用[QSA] –