.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 - 使用 .htaccess 删除 .html 或 .PHP URL 扩展名不起作用

email - 正在使用我的域发送垃圾邮件,我该怎么办?

android - 将DNS查询发送到Android中的域

nginx - 在 Web 服务器上使用类似子域的 ajenti

linux - iptables 端口转发到网络服务器通过 vpn 连接而不安装 nginx

regex - 使用 mod-rewrite 创建静态的、SEO 友好的 URL

php - Laravel 5 - 从 URL 中删除公共(public)

javascript - $locationProvider html5mode 导致刷新时出现 "cannot GET"错误 - AngularJS Node 应用程序

java - Xuggler,在 xuggler 5.4 中转发和倒带视频不工作

ssl - 在谷歌云中添加带有转发规则的ip