2012-07-25 109 views
0

我非常親愛的Stackoverflow社區,當主域指向另一個文件夾時,如何將子域重定向到文件夾?

我有以下重定向問題,並經過幾次不成功的嘗試後,我來到這裏尋找啓示。我的問題是以下。我有一個域名,我們稱之爲 'www.mydomain.com' 和我的 '的public_html' 目錄下有兩個文件夾,如下所示:

的public_html

的public_html/my_app應用/

的public_html/my_other_app/

首先,我想在輸入URL'www.mydomain.com'時,我會重定向到'my_app'文件夾的內容,同時保留相同的URL。事實上,我已經完成了,所以無論何時輸入'www.mydomain.com',我都會重定向到'www.mydomain.com/index.php',它實際上對應於'public_html/myapp/index.php'腳本在'myapp'下。

現在我想要一個名爲'other.mydomain.com'的子域,它必須重定向到'my_other_app'文件夾的內容,但我不知道如何使.htaccess爲此工作,並在相同的第一個案件也是時間工作。

所以這基本上是,主域名重定向到一個文件夾,子域重定向到另一個文件夾,這兩個文件夾所在的public_html目錄

任何提示更受歡迎下。

供您參考我下面張貼我目前的.htaccess文件:

RewriteEngine On 

# redirect to www prefix 
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC] 
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L] 
# if start with www and no https then redirect 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^www.mydomain\.com$ [NC] 
RewriteRule ^(.*)$ https://www.mydomain.com/$1 [R=301,L] 
# rewrite URL to trim folder 
RewriteCond %{REQUEST_URI} !^/test/ 
RewriteRule ^$ /login [L,R=301] 
RewriteRule ^(.*)$ test/$1 [L] 

這實際上適用於我的主域名,它也重寫URL爲https。我需要在這裏添加一些東西,以便分別處理'other.mydomain.com'並重定向到'/ my_other_app /'子文件夾。

+0

你可以發佈你的htaccess嗎? – 2012-07-25 03:47:40

+0

嗨,喬恩,我剛剛使用當前.htaccess文件中的代碼更新了帖子。謝謝 – ibagur 2012-07-25 06:43:49

回答

0

您需要的是每個應用程序的虛擬主機(虛擬主機)。在虛擬主機中,您將定義虛擬主機根目錄,它將指向您的任一子目錄。

有基於IP的虛擬主機(每個子域一個IP地址)或基於名稱的虛擬主機(虛擬主機是根據所有現代瀏覽器發送的HTTP主機頭來選擇的)。 但有太多太多的話要說,虛擬主機給它的所有寫在這裏,只讀過Apache文檔瀏覽:

http://httpd.apache.org/docs/2.2/vhosts/

我想用純.htaccess文件,你不能做到這一點(我可能是錯誤)。通常你會在主apache配置中添加虛擬主機。根據您的託管,這可能是不可能的。在這種情況下與你的託管服務提供商聯繫

Marc

相關問題