显然这是一个非常简单的问题:如何重写
(值1).example.com的/(值2)
到
/(值1)/(值2)
我尝试了一些没有成功的事情。
提前谢谢。
答案 0 :(得分:1)
尝试此规则:
RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$
RewriteCond $1/%1 !^([^/]+)/\1$
RewriteRule ^/([^/]+)? /%1%{REQUEST_URI} [L]
一些解释:我之前的建议导致无限递归,因为L flag导致使用新URL重新启动重写过程:
但请记住,如果
RewriteRule
生成内部重定向(在每个目录上下文中重写时经常发生),这将重新注入请求并导致从第一个{重复开始重复处理} {1}}。
第二个条件将避免这种情况,因为它将子域部分与第一个路径段进行比较。只有它们不同,条件才成立并重写。