【问题标题】:Remove ? from URL with htaccess消除 ?从带有 htaccess 的 URL
【发布时间】:2017-01-01 12:08:08
【问题描述】:

最近我将我的博客从 Blogger 迁移到 WordPress(具有相同的域),我使用 WordPress 手动管理重定向,使用每个帖子和页面的重定向插件。

现在的问题是来自 Google 的移动 URL,如您所知,Blogger 为移动版本的页面添加了某种结构,在 URL 的末尾添加了 ?m=0 或 ?m=1,这现在在 WordPress 内部产生了 404 错误.

例如: 旧网址:http://www.example.com/2017/01/page.html 新网址:https://example.com/page/ 我已经在 WordPress 中管理了上述重定向,但现在的问题在于移动 URL,如下所示: 来自 Google SERP 的链接:http://www.example.com/2017/01/page.html?m=1?m=0 这会在站点中产生 404 错误,因为它不同于:http://www.example.com/2017/01/page.html

现在我需要一种方法从我的所有站点链接中删除 ?m=1?m=0,以便获得与 WordPress 中的 URL 匹配的清晰 URL

例如: 我想重定向这个:http://www.example.com/2017/01/page.html?m=1?m=0 至此链接:https://example.com/2017/01/page.html 这将由 WP 中的重定向插件管理

我认为 apache 专家很容易做到这一点 :)

提前致谢!

【问题讨论】:

  • 为什么不让 WP 忽略参数?
  • 怎么样?并考虑到我需要在加载 WordPress 之前忽略该参数,以便使用 WP 进行重定向。

标签: wordpress apache .htaccess redirect url-redirection


【解决方案1】:

我在 Stackoverflow 上找到了一个代码,它只解决了 ?m=1 的问题,我添加了一段代码来处理 ?m=1 和 ?m=0。

这里是the original code

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

这是编辑后的代码:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2016-04-10
    相关资源
    最近更新 更多