2011-08-14 61 views
0

我有兩個別名爲domain1.com和domain2.com的域名 目前他們都被定向到我的網站空間的根目錄。但是,我希望將它們分離爲獨立的頁面,並將domain2.com引導到具有不同內容的子文件夾中。mod_rewrite:將域名導入子文件夾(無vhost)

我知道正確的方法是使用Apache虛擬主機。但是,我的服務提供者不允許我訪問該功能,所以我必須使用mod_rewrite來解決它。

我需要的是指導www.domain2.com和domain2.com子文件夾/(它應該觸發index.php)。此外,www.domain2.com/file.txt應到子文件夾/ file.txt的,等等...這是我想出了:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} domain2\.com [NC] 
RewriteRule ^(.*)$ subfolder/$1 [L] 
</IfModule> 

然而,當我運行它,然後轉到DOMAIN2。 COM,我得到500內部服務器錯誤和日誌文件說:

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 

爲了測試這是怎麼回事我做了一個小PHP腳本,打印出它得到的字符串。 我還修改了規則:

RewriteRule ^(.*)$ subfolder/test.php?string=$1 [L] 

現在,當我去domain2.com或domain2.com/asd,它打印出:子文件夾/ test.php的 不知怎的,進入遞歸和版畫本身。然而,如果我使用以下規則:

RewriteRule ^abc(.*)$ subfolder/test.php?string=$1 [L] 

然後domain2.com/abcdef打印:DEF

我想不出什麼我做錯了。你有什麼建議嗎? 謝謝!

回答

0

這可能是重寫規則適用於其出現的.htaccess版本的子文件夾。是否有助於添加一個條件來阻止已經以subfolder/開頭的URL的重寫?

+0

謝謝,這有幫助。它讓我走上了正確的軌道,並且找到了這個頁面:http://wiki.apache.org/httpd/RewriteLooping – Marek