【问题标题】:Regex to Remove Query String From .htaccess正则表达式从 .htaccess 中删除查询字符串
【发布时间】:2015-12-31 15:49:31
【问题描述】:

我有一个博客,我最近从它的原始平台迁移到了一个自托管的 WordPress 网站。旧平台将查询字符串附加到移动视图的 URL。这在新的响应式站点中没有任何连接,因此带有这些查询字符串的 URL 会导致 404 错误。

我需要的是我的 .htaccess 的正则表达式,它将从 URL 中删除查询字符串 ?m=1。因此,例如,“www.example.com/post/?m=1”应该重写或重定向到“www.example.com/post/”

到目前为止,我所拥有的是:

RewriteCond %{QUERY_STRING}  ^m=1$ [NC]
RewriteRule ^(.*)$ $1? [R=301,L]

什么都不做:)

建议?

【问题讨论】:

标签: regex .htaccess


【解决方案1】:

问题是/post/?m=1 中的斜杠

#stip trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

RewriteCond %{QUERY_STRING}  ^m=1$ [NC]
RewriteRule ^(.*)$ $1? [R=301,L]

【讨论】:

  • 谢谢,马科斯。这也没有任何效果。
【解决方案2】:

我的问题是语法之一。正确的解决方案是here。请注意在 WordPress 网站中使用此解决方案时放置的重要性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 2019-08-20
    • 2014-05-21
    • 2010-12-22
    • 1970-01-01
    • 2021-01-17
    • 2014-06-20
    相关资源
    最近更新 更多