2017-08-05 98 views
-1

我試圖http://example.com/for-sale/?property=1234重定向到http://example.com/for-sale/property-name/在.htaccess中,使用的RewriteCond重寫規則和。這是我到目前爲止:htaccess的查詢字符串重定向不工作

RewriteCond %{QUERY_STRING} ^(property=1234) 
RewriteRule ^$ /for-sale/property-name/? [R=301,L] 

這是行不通的。我可以將?property = 1234重定向到for-sale/property-name /,但是如何使它在/ for-sale /在未重定向的URL中工作?我已經嘗試了RewriteRule中的各種待售組合,但沒有成功。 謝謝。 我所有的鏈接現在都被打破了,所以我會非常感謝一些建議。謝謝。

+0

不,它是由WordPress生成的,來自'register_post_type'中的'rewrite'參數。我發現了問題並修復了它,請參閱下面的答案。 – ardmark

回答

1

這是一個WordPress的網站,所以第一個錯誤是WordPress的做它重寫後做了重寫。第二個錯誤是在RewriteRule中。這裏是工作代碼:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} property=1234$ 
RewriteRule ^for-sale/?$ /for-sale/property-name/? [R=301,L] 

... my other rewrites 

</IfModule> 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

這個工程。希望它能幫助別人。

相關問題