【问题标题】:Mod Rewrite - WP url &preview_nonce=(.*)Mod 重写 - WP url &preview_nonce=(.*)
【发布时间】:2014-08-02 21:31:39
【问题描述】:

我想更改包含查询字符串 &preview_nonce= 的任何 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

【问题讨论】:

    标签: php regex .htaccess mod-rewrite apache2


    【解决方案1】:

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

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

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

    【讨论】:

    • 这会导致 500 错误:RewriteCond: unknown flag 'L'
    • 抱歉有错别字,现已修正。
    • 谢谢,这适用于您的上下文!但我想知道的是如何考虑所有带有?preview=true?preview_id=(.*)&preview_nonce=(.*) 的URL,而忽略它之前的任何东西,比如about-us/history/commitment/??我尝试删除该部分,但没有成功。
    • 那个 URI /blockquotes/?preview=true&preview_id=33333&preview_nonce=x77s1293 在我的测试中工作
    • 非常感谢兄弟
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多