虚拟子域

时间:2011-03-08 12:01:21

标签: regex apache .htaccess rewrite

我想将通配符子域重定向到文件“user_site.php”,如下所示:

RewriteCond $1 !^(user_site\.php|home_site\.php    
RewriteCond %{HTTP_HOST} !^(www|mail|ftp)?\.?domain.com [NC]
RewriteRule ^(.*)$ /user_site.php/$1 [L]

但如果子域是www或空,我想将其重写为“home_site.php”

怎么办呢? 谢谢

1 个答案:

答案 0 :(得分:0)

我发现它已经在stackoverflow上回答了,谢谢

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ [NC]
RewriteRule ^(.*)/?$ home_site.php/$1 [NC,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} ^/index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^(www|mail).domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+).domain.com$ [NC] 
RewriteRule ^(.*)/?$ user_site.php/$1 [NC,QSA,L]