将网站文件夹重定向到子域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将网站文件夹重定向到子域相关的知识,希望对你有一定的参考价值。

我有3个这种结构的网站

Website 1 : domain.com  
Website 2 : domain.com/website-2/something  
Website 3 : domain.com/website-3/something  

现在我想使用而不是文件夹子域

Website 1 : domain.com  
Website 2 : website-2.domain.com/something  
Website 3 : website-3.domain.com/something  

所以我需要重定向这个htaccess规则

RewriteEngine On
RewriteRule ^(website-2.*)$ http://website-2.domain.com/$1 [R=301,L,NC]
RewriteRule ^(website-3.*)$ http://website-3.domain.com/$1 [R=301,L,NC]

但我不知道这是否正确,因为这不适用于网站3,重定向就像这个网站-3.domain.com/website-3/something而不是 website-3.domain.com/something

谢谢。

答案

这是因为你匹配(website-2.*),其中.*意味着零或更多的任何角色(贪婪),所以/something部分。

您可以创建2个组并检查/,如下所示:

RewriteEngine On
RewriteRule ^(website-2)/?(.*)$ http://website-2.domain.com/$2 [R=301,L,NC]
RewriteRule ^(website-3)/?(.*)$ http://website-3.domain.com/$2 [R=301,L,NC]

但是,由于你的匹配并没有很大的不同,我们可以将它们包含在1条规则中:

RewriteEngine On
RewriteRule ^(website-(?:2|3))/?(.*)$ http://$1.domain.com/$2 [R=301,L,NC]

其中(?:2|3)匹配website-2website-3

在你的额外信息之后

RewriteEngine On 
RewriteRule ^(pierre|argile)/?(.*)$ http://$1.lafaure.info/$2 [R=301,L,NC]

在视觉上

enter image description here

另一答案

没问题,如果这就像是在比赛中?

RewriteEngine On 
RewriteRule ^(pierre-de-taille|argile-bentonitique)/?(.*)$ 
http://$1.lafaure.info/$2 [R=301,L,NC]
另一答案

如果我需要重定向?

lafaure.info/pierre-de taille/something to pierre.lafaure.info/something  
lafaure.info/argile-bentonitique/something to argile.lafaure.info/something

以上是关于将网站文件夹重定向到子域的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess - 将旧网站重定向到主域,但也将一些内容重定向到主域的子域

根据访问者 IP 地址(国家/地区)将主网站重定向到子域

子域/子文件夹重定向冲突

如何将 Route 53 子域重定向到您网站的子目录

.htaccess 重定向影响子域

找不到子域时如何使网站重定向到页面[重复]