gpt4 book ai didi

regex - 如何将子域重定向到其他域

转载 作者:行者123 更新时间:2023-12-02 00:39:51 25 4
gpt4 key购买 nike

我试图用 htaccess mod-rewrite 完成的事情:

使用重写规则将所有子域重定向到新域名。

例如

test1.olddomain.com ===> test1.newdomain.com

test2.olddomain.com ===>test2.newdomain.com

test3.olddomain.com ===> test3.newdomain.com

这就是我目前所知道的当然是错误的:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]

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

RewriteRule [a-zA-Z]+\.olddomain.com$ http://$1.newdomain.com/ [R=301,L]

因为我还不是正则表达式迷,所以我需要您的帮助...感谢您在这里提供的任何帮助。我也知道我们可以将前两个条件合二为一。

注意:我不使用 DNS 重定向所有域的原因是很多目录需要特殊的重写规则以保持在 SEO 上的位置。

最佳答案

在 .htaccess 文件中,RewriteRules 匹配的“URL”已从域名和任何指向当前目录的目录中删除。 (在 .htaccess 文件中使用 mod_rewrite 是一个巨大的痛苦;如果你有权访问服务器 conf,那就在那里做!!)

因此,假设您的 .htaccess 在您的 DocumentRoot 中,请尝试如下操作:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)olddomain\.com$ [NC]
RewriteRule ^(.*)$ http://%1newdomain.com/$1 [R=301,L]

%1 应该匹配 RewriteCond 中的第一组,$1 应该匹配 URL 部分。

关于regex - 如何将子域重定向到其他域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com