2012-01-07 58 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]