2012-07-13 43 views
1

我希望我的.htaccess有以下輸入/輸出模式:取決於子域和文件輸出的.htaccess請求的URL

方案1:

輸入:HTTP:// subdomain。域.COM

輸出:http://www.domain.com/usersite/site.php?site=subdomain

方案#2:

輸入:HTTP:// subdomain .domain.com/tos.html

輸出:http://www.domain.com/usersite/tos.php?site=subdomain


我設法處理場景#1以下的.htaccess:

RewriteCond %{HTTP_HOST} !^www.domain.com 
RewriteCond %{HTTP_HOST} ([^.]+).domain.com [NC] 
RewriteRule ^(.*)$ http://www.domain.com/usersite/site.php?site=%1 [L] 

但我不知道如何照顧場景#2 ...

回答

1

改變你r規則,以便它僅處理^$(例如,沒有URI,只是/)。然後複製的條件,只是要確保你不會重寫現有資源,檢查-f-d

第一條規則:

RewriteCond %{HTTP_HOST} !^www.domain.com 
RewriteCond %{HTTP_HOST} ([^.]+).domain.com [NC] 
RewriteRule ^$ http://www.domain.com/usersite/site.php?site=%1 [L] 

第二條規則:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} !^www.domain.com 
RewriteCond %{HTTP_HOST} ([^.]+).domain.com [NC] 
RewriteRule ^(.*)\.html$ http://www.domain.com/usersite/$1.php?site=%1 [L] 

應該處理你的第二個方案中,重定向到/tos.html/usersite/tos.php?site=subdomain