2014-06-12 35 views
1

我想更改任何包含查詢字符串&preview_nonce=的url以及傳遞給preview_nonce的任何值。Mod Rewrite - WP url&preview_nonce =(。*)

我明白,我必須重寫基於條件:

RewriteCond %{QUERY_STRING} ^preview_nonce=(.*)$

但我被逮住只去除從查詢字符串,離開一切,包括查詢字符串。

網址示例:

about-us/history/commitment/?preview=true&preview_id=9999&preview_nonce=9x323k1 
stories/companies/?preview=true&preview_id=8888&preview_nonce=c448s88 

期望的結果:

about-us/history/commitment/?preview=true&preview_id=9999 
stories/companies/?preview=true&preview_id=8888 

回答

2

您可以使用此規則查詢字符串去除:

RewriteCond %{QUERY_STRING} ^(.+?&)?preview_nonce=[^&]*(?:&(.*))?$ [NC] 
RewriteRule^%{REQUEST_URI}?%1%2 [L,NC,R=302] 

確保這個規則放在其他前WP規則。

+0

這會導致500錯誤:'RewriteCond:unknown flag'L'' – Seth

+0

對不起,有一個錯字,現在修復。 – anubhava

+0

謝謝,這在您的情況下工作!但是我想知道的是如何考慮所有的URL,使用'?preview = true?preview_id =(。*)&preview_nonce =(。*)',忽略它之前的任何東西,比如'about-us/history/commitment /'?我試圖刪除那部分,但它沒有奏效。 – Seth