Apache通配符重写子域到子目录

时间:2015-02-24 16:38:08

标签: regex apache .htaccess mod-rewrite

尝试将通配符子域重写为子目录而没有分配好运。

abc.domain.com> www.domain.com/sub/abc

我尝试了以下

// example 1
RewriteCond %{HTTP_HOST} ^(.*).domain.com [NC]
RewriteRule ^(.*)$ ./sub/$1 [L]

// example 2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(.*).domain.com [NC]
RewriteRule ^(.*)$ ./sub/$1 [L]

希望有人可以提供建议。

1 个答案:

答案 0 :(得分:1)

您需要使用RewriteCond

中的反向引用
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteRule ^((?!(?:sub|index\.php)/).*)$ ./sub/%1/$1 [L,NC]