Mod Rewrite - WP url& preview_nonce =(。*)

时间:2014-06-12 14:02:08

标签: php regex .htaccess mod-rewrite apache2

我想更改包含查询字符串&preview_nonce=的任何网址,并将任何值传递给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

1 个答案:

答案 0 :(得分:2)

您可以使用此规则删除查询字符串:

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

确保此规则放在其他WP规则之前。