我期待将我的oldomain.com及其语言文件夹oldomain.com/en和oldomain.com/it下的所有内容更改为newdomain.com以获取第一个,将newdomain.it更改为后者。我现在需要处理来自olddomain的旧链接,并在olddomain的htcaccess中进行301重定向。
我想我可能需要这样的东西:
RewriteRule ^en(.*)$ newdomain.com$1 [L,R=301]
RewriteRule ^it(.*)$ newdomain.it$1 [L,R=301]
我不确定这是否足够,因为我看到很多变种而且我不是专家。我也应该照顾root olddomain吗?我应该在之前/之后使用Rewritebase或其他代码吗?
我还将文件夹和html extenisons剥离到新的网站页面,因此我需要手动将任何文件夹或子文件夹下的任何页面重定向到没有html的新域的根目录。
任何有关正确方向的帮助或提示都将得到赞赏。 感谢
答案 0 :(得分:0)
你需要http://
,否则apache会将newdomain.com
误认为是路径名:
RewriteEngine On
RewriteRule ^en/(.*)$ http://newdomain.com/$1 [L,R=301]
RewriteRule ^it/(.*)$ http://newdomain.it/$1 [L,R=301]
您不需要重写基础。只要这些规则位于旧域的文档根目录中(与新域的文档根目录不同),您就不需要任何其他规则。如果您需要将根网址(例如http://olddomain.com/
)重定向到某个内容,则需要在其他两个规则之后添加:
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
(或您需要将其重定向到的任何地方)。