我试图将通配符域的请求重定向到子目录.
即.something.blah.domain.com
- >blah.domain.com/something
我不知道如何获得在重写规则中使用的子域名.
最终解决方案
RewriteCond %{HTTP_HOST} !^blah\.domain\.com RewriteCond %{HTTP_HOST} ^([^.]+) RewriteRule ^(.*) /%1/$1 [L]
或者像pilif所指出的那样
RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$
pilif.. 33
您应该查看apache文档中的URL重写指南.
以下是未经测试的,但它应该是诀窍:
RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$ RewriteRule ^/(.*)$ http://blah.domain.com/%1/$1 [L,R]
这仅在子域不包含点时有效.否则,你必须改变RewriteCond中的正则表达式以匹配任何因锚定而仍然有效的角色,但这肯定会更安全.
您应该查看apache文档中的URL重写指南.
以下是未经测试的,但它应该是诀窍:
RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$ RewriteRule ^/(.*)$ http://blah.domain.com/%1/$1 [L,R]
这仅在子域不包含点时有效.否则,你必须改变RewriteCond中的正则表达式以匹配任何因锚定而仍然有效的角色,但这肯定会更安全.