Apache重写基于子域

Sam*_*Sam 29 apache mod-rewrite

我试图将通配符域的请求重定向到子目录.
即.something.blah.domain.com- >blah.domain.com/something

我不知道如何获得在重写规则中使用的子域名.

最终解决方案

RewriteCond %{HTTP_HOST} !^blah\.domain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)
RewriteRule ^(.*) /%1/$1 [L]
Run Code Online (Sandbox Code Playgroud)

或者像pilif所指出的那样

RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$
Run Code Online (Sandbox Code Playgroud)

pil*_*lif 33

您应该查看apache文档中的URL重写指南.

以下是未经测试的,但它应该是诀窍:

RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$
RewriteRule ^/(.*)$           http://blah.domain.com/%1/$1 [L,R] 
Run Code Online (Sandbox Code Playgroud)

这仅在子域不包含点时有效.否则,你必须改变RewriteCond中的正则表达式以匹配任何因锚定而仍然有效的角色,但这肯定会更安全.