2012-07-20 78 views
0

我一直在試圖找出mod_rewrite的幾天,我在想,如果你們有什麼想法現代重寫/改寫爲子目錄

我的主要領域是siteX.com,它映射到「的public_html」目錄。

最近,我又添加了一個名爲siteY.com的域名,並將'public_html/siteY/public_html'標記爲其根目錄。

現在我試圖通過映射到'public_html/siteX/public_html'來更改我的siteX根目錄,但是當我實現mod_rewrite時,它允許用戶將url看作'http:// www.siteX.com/siteX/public_html」。我需要我的主域名自動映射到使用正確的目錄只看'http://www.siteX.com'。

爲了更好地說明我所指的目錄。

public_html (siteX, my primary domain marks this as root directory) 
    - .htaccess file 
    - siteX 
     -public_html (siteX i want my primarily domain to mark this as root directory) 
    - siteY 
     -public_html (siteY.com marks this as root directory) 

我希望我明確提出了這個問題。謝謝。

這是目前重寫規則我使用:

RewriteCond %{HTTP_HOST} ^(www.)?siteX.com [NC] 
RewriteRule ^$ http://www.siteX.com/siteX/public_html/index.php 

對於我的託管公司,我相信mod_rewrite的是去

+0

您是否嘗試過'RewriteRule^siteX /(.*)/ siteX/public_html/$ 1'這樣的理論,應該將'http://www.siteX.com/siteX/ public_html/index.php'重寫爲' HTTP:// www.siteX.com/SITEX/index.php' – Killrawr 2012-07-20 05:44:16

回答

1

當你有http://www.siteX.com作爲一個目標的一部分的唯一途徑RewriteRule,它會自動將重定向到瀏覽器。這就像有[R]標誌。我想你想是這樣的:

RewriteCond %{HTTP_HOST} ^(www.)?siteX.com [NC] 
RewriteCond %{REQUEST_URI} !^/siteX 
RewriteRule ^(.*)$ /siteX/public_html/$1 [L] 

要在內部重寫主機siteX.com/siteX/public_html/目錄中的所有請求。