Apache-2.2
將域/目錄重定向到 domain2/目錄
我希望 domain1.com/customers 轉到 domain2 我的主目錄公共 html 的文件夾 /customers。兩個域都在不同的伺服器上。在第二個伺服器/第二個域的文件夾中,我們將為我們的客戶執行幾個測試站點。站點如 domain2.com/henry/index.php。這兩個站點都在 LAMP 伺服器上。要將域一到二重定向,我可以使用 DNS 重定向。
我確實想保留在瀏覽器地址欄中顯示的域 domain1/目錄,所以我認為我必須為此使用域遮罩。
我找到了這個Stackoverflow 執行緒。這是基於我相信的 Mod 重寫任務。但對我來說,這只是一個標準的 301 重定向。這不是我在這裡需要的。我也需要遮罩。
我仍然在這裡找到了更好的重定向:
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.)domain1\.com [NC] RewriteRule ^(.*)$ http://www.domain2.com/$1 [QSA,L,R=301]
但我仍然不確定這是否會掩蓋最終域,因此構成我需要的 url 遮罩。在WebGUI atm上閱讀它。為了掩蓋網址,他們有這個例子:
# mask real url RewriteCond %{REQUEST_URI} ^/css RewriteRule ^(.*)$ http://www.domain.com$1 [P,L] RewriteCond %{REQUEST_URI} ^/media RewriteRule ^(.*)$ http://www.domain.com$1 [P,L] RewriteCond %{REQUEST_URI} ^/uploads RewriteRule ^(.*)$ http://www.domain.com$1 [P,L] RewriteRule ^(.*)$ http://www.domain.com/dir/ [P,L]
P 代表代理,L 代表最後。據我所知,屏蔽需要代理。標誌在這裡解釋。
我的主人說我應該使用 Apache Alias。Apache Alias也確實處理了內部重定向,所以我猜他是正確的,只要確保第二個域/伺服器上的數據是從正確的位置載入的。他提到使用:
<VirtualHost domain2.com:80> …configuratie… Alias /customers /var/www/html/customers </VirtualHost>
問題:如何在瀏覽器地址欄中保留 domain1/directory 並使其從 domain2/directory 載入站點,例如使用 domain2.com/customers/peter/idex.php /henry/index.php 等等?
通過使用新的測試域並將 DNS 重定向到相關測試伺服器的 ip 解決了這個問題。這是因為這個初始試驗似乎很難做到,並且需要伺服器一做額外的不必要的提升。