.htaccess - 如何将域名转发到现有 URL - .htaccess、DNS 记录,还有什么?

标签 .htaccess dns forwarding mx-record a-records

我更像是一名程序员,而不是服务器专家,所以非常感谢任何帮助!

出于 SEO 原因转发域名 ->
由第 3 方托管的 NewDomain.com 需要指向当前托管的网站 CurrentDomain.com。我知道我需要...

1)专门调整NewDomain.com的DNS A记录

  • www.
  • @.
  • *.
  • ftp.
  • 邮件。

2) 调整NewDomain.com DNS MX记录

3) 将 301 重定向添加到托管在 CurrentDomain.com 的 .htaccess 文件,以便所有对 NewDomain 的请求都将转发到 CurrentDomain.com。

RewriteEngine On<br/> RewriteCond %{HTTP_HOST} NewDomain.com$<br/> RewriteRule ^(.*)$ <a href="http://CurrentDomain.com/" rel="noreferrer noopener nofollow">http://CurrentDomain.com/</a>$1 [R=301,L]

问题:
还有什么需要做的?
1) 是不是少了什么?
2) 是否应该进行额外的 DNS 更改?如果有,在哪里?
3) 如果我不想将邮件发送到 NewDomain,MX 记录是否应该指向 mail.CurrentDomain.com?
4) 有没有更好的.htaccess 文件?

最佳答案

您的 .htaccess 几乎是正确的,只是一些小的更正:

Options +FollowSymlinks -MultiViews
RewriteEngine on

# for http
RewriteCond %{HTTP_HOST} ^(www\.)?newdomain\.com$ [NC]
RewriteCond %{SERVER_PORT} =80
RewriteRule ^(.*)$ http://CurrentDomain.com/$1 [R=301,L]

# for https
RewriteCond %{HTTP_HOST} ^(www\.)?newdomain\.com$ [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^(.*)$ https://CurrentDomain.com/$1 [R=301,L]

这样 newdomain.comwww.newdomain.com 都将通过 301 重定向到浏览器。

[NC] 标志用于忽略主机的大小写匹配

关于.htaccess - 如何将域名转发到现有 URL - .htaccess、DNS 记录,还有什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5899290/

相关文章:

c++ - gai_cancel() 需要很长时间才能成功

c++ - 推导原始类型的知识,同时转发

wordpress - 使用 .htaccess 重新路由旧页面链接

javascript - 启用js重定向到apache服务器的私有(private)文件夹

php - 将目录名称添加到 SEF url 中并传递 id 值而不在 url 中使用它

apache - DNS 传播 - 为什么子域只能在创建后几分钟才能访问(自己的名称服务器)

linux - 在节点中访问 Kubernetes DNS 服务器

java - 寻找Spring 3.0中更简洁的JSP转发配置

regex - 如何仅通过更改域名来重定向 URL,同时保留其他 URL 参数

.htaccess - 如何使用 htaccess 重写 GET 参数