簡體   English   中英

當主域指向另一個文件夾時,如何將子域重定向到文件夾?

[英]How can I redirect subdomain to folder while main domain points to another folder?

我非常親愛的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 /”子文件夾

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

有基於IP的虛擬主機(每個子域一個IP地址)或基於名稱的虛擬主機(虛擬主機是根據所有現代瀏覽器發送的HTTP主機標頭選擇的)。 但是要在這里編寫所有有關vhost的內容還有很多話要說,只需閱讀apache文檔即可:

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

我認為使用純.htaccess文件無法做到這一點(我可能錯了)。 通常你會在主Apache的配置添加虛擬主機。 根據您的托管,這可能無法實現。 在這種情況下,請與您的托管服務提供商聯系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM