首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加301重定向以将所有通信量从一个域重定向到另一个域

添加301重定向以将所有通信量从一个域重定向到另一个域
EN

Stack Overflow用户
提问于 2022-09-04 06:25:05
回答 1查看 44关注 0票数 0

有人能帮忙吗?

我试图使用.htaccess将所有流量从旧域(具有多个子域和URL)重定向到新域。我只想把所有现有链接(旧域)的流量重定向到新域的英文子目录。

我想知道这句话对不对?

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule ^(.*)$ http://newdomain.com/en [R=301,L]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-04 06:56:54

您所执行的规则是“正确的”,因为如果满足了某些先决条件,它应该有效.

不过,我会把它简化一点:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(\w+\.)?olddomain\.com$
RewriteRule ^ https://newdomain.com/en [R=301,L]

如果旧域和新域来自不同的位置,甚至是不同的系统,您可以通过放弃条件来进一步简化这一点:

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^ https://newdomain.com/en [R=301,L]

通常,这样的规则最好在中央http服务器的主机配置中实现。如果您没有访问该文件的权限(请阅读:如果您使用的是廉价的托管提供商),则可以使用分布式配置文件(通常称为".htaccess")。在这种情况下,您需要启用该特性(请参阅http服务器文档中的AllowOverride指令),并且您需要将该文件放置在http DOCUMENT_ROOT文件夹中,并注意它是由http服务器读取的。

另外,还需要注意:在您的实现中,您重定向到未加密的http协议。这已经过时了,你真的应该使用加密的https协议。当然,你需要一个有效的证书,但这些都是免费的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73597209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档