【问题标题】:URL 301 rewrite with mod_rewrite if contains variable ?tag=xxx如果包含变量 ?tag=xxx,则使用 mod_rewrite 重写 URL 301
【发布时间】:2011-10-22 00:53:43
【问题描述】:

当特定变量位于动态 URL 中时,我似乎无法运行 301 重定向和重写。

例如,使用以下任何 URL:

/movabletype/mt-search.cgi?tag=SOMETHING&limit=20
/some-other-random-content?post=somethinghere&tag=SOMETHING

如果 tag=SOMETHING 位于 URL 内的任何位置,则重定向到: /categories/something_here/

有什么想法吗?!这是我到目前为止所拥有的 - 我不知道在 RewriteCond 中放什么

RewriteCond %{REQUEST_URI}
RewriteRule tag=SOMETHING /categories/something_here/ [L,R=301]

【问题讨论】:

    标签: mod-rewrite seo http-status-code-301


    【解决方案1】:

    您的重写条件需要左右参数。当存在某个 URL 参数(即标记)时,您似乎想要重定向,因此您可以在您的条件中使用 %{QUERY_STRING}

    考虑以下示例:

    RewriteCond %{QUERY_STRING} tag=([A-Za-z0-9]+)
    RewriteRule ^(.*)$ /categories/$1 [R=301,L]
    

    这应该采用像 /some-other-random-content?post=somethinghere&tag=SOMETHING 这样的 URL 并将其重定向到 /categories/SOMETHING

    URL Rewriting for Beginners 可能是一个有用的指南。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 2021-10-01
      • 1970-01-01
      • 2011-01-22
      • 1970-01-01
      相关资源
      最近更新 更多