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

时间:2018-06-05 13:34:17

标签: regex .htaccess redirect subdomain

我有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 重定向是这样的 website-3.domain.com/website-3/something 而不是
website-3.domain.com/something

感谢。

3 个答案:

答案 0 :(得分:1)

这是因为您匹配(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

答案 1 :(得分:0)

没问题,如果这与比赛中的 - 那样?

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

答案 2 :(得分:0)

如果我需要重定向?

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