2012-01-07 94 views
0

我想创建一个服务,用户可以在我的服务上获得子域或常规域。虚拟域名和子域名使用mod_rewrite

的想法是,除了www.所有子域应该去/subdomains.php?user=[sub]&url=[requestet url]

而且除了我自己的2个域的所有域应该去/domain.php?url=$1

我的两个域名分别是: domain1.comdomain2.se

我已经尝试了以下代码:

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 

RewriteEngine On 

# Rewrite sub domains. 
RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteCond %{HTTP_HOST} !^www\.domain1\.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.domain1\.com$ [NC] 
RewriteCond %{HTTP_HOST} !^www\.domain2\.se$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.domain2\.se$ [NC] 
RewriteRule ^(.*)$ /subdomain.php?user=%2&url=$1 [QSA,L] 

#Rewrite 
RewriteCond %{HTTP_HOST} !^www\.domain1\.com$ [NC] 
RewriteCond %{HTTP_HOST} !^www\.domain2\.se$ [NC] 
RewriteRule (.*) http://www.domain1.com/domain.php?url=$1 [R=301,L] 
</IfModule> 

但它没有看到工作。

+0

会发生什么?哪部分工作,哪些不工作?模块是否启用?基本的其他重定向工作吗? – 2012-01-07 18:49:00

回答

0

子域名:你如何期待一个URL为domain1.comdomain2.se的子域在同一时间?

尝试例如这种简化:

RewriteCond %{HTTP_HOST} !^www\.(domain1\.com|domain2\.se)$ [NC] 
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.(domain1\.com|domain2\.se)$ [NC]