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

Posted

技术标签:

【中文标题】如何仅通过更改域名来重定向 URL,同时保留其他 URL 参数【英文标题】:How to redirect a URL by only changing the domain name, while keeping other URL parameters 【发布时间】:2011-08-22 20:18:32 【问题描述】:

我现在正在将我的网站迁移到新的主机和域,我想知道是否可以将输入旧网站的任何 URL 的任何人重定向到新网站,同时保留所有 URL 参数。例如: 当有人输入这个网址http://www.domainA.com/blog/?p=667时,我希望他被重定向到http://www.domainB.com/blog/?p=667

有什么方法可以通过添加一些 .htaccess 配置来做到这一点? 谢谢!

【问题讨论】:

【参考方案1】:

在你的 .htaccess 文件中试试这个:

Options +FollowSymlinks -MultiViews
RewriteEngine on

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

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

这将在从 domainA 重定向到 domainB 时保留您的 URI。

【讨论】:

如何在不保留 url 中的旧域的情况下做到这一点? 这不是保留旧域。它从domainA 变为domainB

以上是关于如何仅通过更改域名来重定向 URL,同时保留其他 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 配置旧域名重定向到新域名

使用 htaccess 重定向页面,但保留 URL 结构并仅更改域

加载 Google Apps,同时保留我的域名

域名更改后的301重定向

通过 facebook 登录会附加一些代码来重定向 url

如何在不更改web.config文件中的URL的情况下重定向域?