我有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-2
和website-3
。
RewriteEngine On
RewriteRule ^(pierre|argile)\/?(.*)$ http://$1.lafaure.info/$2 [R=301,L,NC]
在视觉上
没问题,如果这就像是在比赛中?
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