.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/

相关文章:

php - 检查屏幕宽度,然后将页面上的所有 URL 重定向到移动设备,如果

nhibernate - 数据库建模或数据库设计: Which comes first?

dns - ARP 欺骗/DNS 欺骗 - 区别

nginx - 重写 - 将服务器 IP 转发到域 url nginx

regex - 重定向所有子目录但不重定向父目录

javascript - 将特定虚拟网址重定向到index.html

c++ - 完美转发的身份功能

php - 如何正确使用 HTTP_X_FORWARDED_FOR?

.htaccess - 微妙的htaccess问题。我快疯了

c# - 如何检查 DNS 服务器是否设置为 'obtain automatically'