0

我期待将我的 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 扩展名剥离到新网站页面,因此我需要手动将任何文件夹或子文件夹下的任何页面重定向到没有 html 的新域的根目录。

任何正确方向的帮助或提示都将受到赞赏。谢谢

4

1 回答 1

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]

您不需要重写基础。只要这些规则位于旧域的文档根目录中(与新域的文档根目录不同),您就不需要任何其他内容。如果您需要将根 URL(例如http://olddomain.com/)重定向到某个东西,那么您需要在其他两个规则之后添加它:

RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]

(或您需要将其重定向到的任何地方)。

于 2013-05-01T22:20:43.860 回答