当前位置:  开发笔记 > 运维 > 正文

Apache重写基于子域

如何解决《Apache重写基于子域》经验,为你挑选了1个好方法。

我试图将通配符域的请求重定向到子目录.
即.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中的正则表达式以匹配任何因锚定而仍然有效的角色,但这肯定会更安全.



1> pilif..:

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

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

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

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

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有