【发布时间】:2014-03-11 12:27:37
【问题描述】:
我最近在 stackoverflow 的帮助下创建了一组重写规则,用于包含某些单词或字符串的 301 重定向 url。规则是这样的:
RewriteCond %{QUERY_STRING} (^|&)name=Your_Account(&|$) [NC]
RewriteRule ^ /suchen/? [L,R=301]
在这种情况下,所有包含“name=Your_Account”的网址都会被重定向到搜索页面。但是,返回 404 甚至 410 状态被认为是最佳实践。 410 会更好,因为由于缺少无索引元信息,许多这些 url 是由 Google 动态创建和索引的。我可以这样做:
RewriteCond %{QUERY_STRING} (^|&)name=Your_Account(&|$) [NC]
RewriteRule ^ /suchen/? [L,R=410]
但这会返回 410 错误(已消失)和重定向,这可能是无效的。它有效,浏览器不会重定向 url,但我更喜欢干净的解决方案。
【问题讨论】:
标签: regex apache .htaccess mod-rewrite redirect