regex - 将网站文件夹重定向到子域
问题描述
我有 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
谢谢。
解决方案
这是因为你匹配(website-2.*)
where.*
意味着零个或多个任何字符(贪婪),所以也是/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]
在视觉上
推荐阅读
- excel - Excel VBA 宏中难以捉摸的“错误 400” - 无法理解原因
- treeview - UI5树表为什么重复节点?
- java - 几个小时后停止前台服务
- php - 如果 Woocommerce 购物车中有“错误”通知,请不要重定向到结帐
- spring-boot - SpringBoot应用监控添加Timed注解导致报错
- arm-template - 我们如何使用 ARM 模板在 Function App 中添加新的主机密钥
- android - 您的网站“subdomain.domain.com”尚未通过数字资产链接协议链接
- css - 为活动的 a href 设置不同的 CSS 样式
- php - 在 Symfony 中运行 Doctrine 迁移时如何使用不同的连接设置?
- java - 了解 Fork Join - Fork、Join 与 Compute