![](/img/trans.png)
[英]How do I use Apache mod_rewrite > to redirect a Subdirectory to a Domain (On a Subdomain)?
[英]Apache and mod_rewrite: Redirect domain to subdirectory
(我知道這不是一個編程問題本身,但它涉及正則表達式,所以至少它是邊界...)
設置:
在Windows上使用mod_rewrite的Apache 2.0。 兩個域,我們稱之為domain1.example和domain2.example。 我想在同一台服務器(“server1”)上托管這兩個域,所以我將它們指向同一個IP地址。
現在,如果用戶在他的瀏覽器中鍵入“domain2.example”,我希望他最終位於服務器上的子目錄**中,但保留他輸入的域名(“domain2.example / domain2 /”)。 當然,重定向必須保留此域/目錄下的頁面上的所有絕對和相對鏈接。
這是可能的mod_rewrite(或Apache虛擬主機或其他方法),我該怎么做?
**在這種情況下,“子目錄”實際上不是磁盤上的文件夾,而是使用Apache“Location”指令創建的虛擬文件夾。
謝謝。
我假設您無法訪問Apache配置,否則,是的,虛擬主機是您的最佳選擇。 但是,如果不這樣做,可以將其放在.htaccess文件中,並且應該這樣做:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.+)\.yourwebsite\.com$
RewriteRule ^/(.*)$ /path/to/your/subdomains/%1/$1 [L]
因此,對http://foo.yourwebsite.com/bar
的請求將轉至/path/to/your/subdomains/foo/bar
假設這些域是獨立的,建議的解決方案是虛擬主機。
您可以在apache網站上找到該文檔。
我不相信你需要使用mod_rewrite,你應該可以像你建議的那樣使用vhosts。 為此,您將擁有一個帶有servername domain2.example的vhost,它指向您想要的目錄。 這也將使用domain1.example的ServerAlias指令,因此對此請求將轉到同一目錄。
請參閱ServerAlias和DocumentRoot的文檔 。 另請注意,如果您希望目錄顯示在URL中, 則需要使用mod_rewrite。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.