我需要在.htaccess中重写规则。我有用户从谷歌到我不再存在的旧网站链接。
旧网站:
newsite.com/search/docs/harry+potter+reviews
我需要重定向到:
having
重定向应为301? (Google可以移动内容)。
答案 0 :(得分:0)
对于更通用的方法,您可以使用类似
的方法RedirectMatch "^/search/pdf/docs/(.*)" "http://newsite.com/search/docs/$1"
或针对您的具体案例
Redirect 301 "/search/pdf/harry-potter-reviews" "http://newsite.com/search/docs/harry+potter+reviews"
您也可以使用mod_rewrite
更多信息here
希望这有帮助
答案 1 :(得分:0)
您似乎正在进行两次单独的映射:pdf - > docs,和 - - > +
如果准确,您可以按照以下方式执行此操作:
RewriteEngine On
RewriteRule (.+)-(.+) $1+$2 [N]
RewriteRule ^search/pdf/(.+) /search/docs/$1 [R=301]
[N]标志表示"只要它仍然匹配"再次执行它,这将导致全局搜索和替换 - +,无论有多少。完成后,它会重定向任何&#pdf'指向' docs'。
的网址注意事项:
1)我假设您将此文件放在文档根目录中的.htaccess文件中。
2)+通常是URL中的保留字符,并且在某些情况下使用它会导致Bad Things Happening。你已被警告过了。