例如,假设您目前拥有一个网站www.domain.com,您将把它移至www.new-domain.com。现在,您目前的博客结构是www.domain.com/2012/09/post-name,您的新博客结构将是www.new-domain.com/blog/post-name。我知道我可以在domain.com上执行301永久重定向指向new-domain.com,但有没有办法捕获长尾URL并使用htaccess重写RegEx。通常我会这样做:
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(.*)$ http://domain.com/blog/$3
如果我需要更改同一域中的网址结构。这会抓住旧域名的重定向吗?
答案 0 :(得分:1)
我假设你有两个域指向同一个目录,否则询问旧域的重定向是没有任何意义的。
如果您在新域文档根目录上有重定向,那么您永远不会看到来自旧域的请求,反之亦然。
如果两个域共享同一个文档根目录,则需要对主机进行检查:
RewriteEngine On
RewriteCond %{HTTP_HOST} domain.com$ [NC]
RewriteRule ^/?[0-9]{4}/[0-9]{2}/(.*)$ http://new-domain.com/blog/$1 [L,R=301]