我的主域是subdomain.domain.tld
,我想重寫從subdomain1.domain.tld
到第一個的所有流量。意思是說如果某人訪問subdomain1.domain.tld/whatever.php
,他實際上訪問subdomain.domain.tld/whatever.php
,但是,他仍然在瀏覽器的導航欄中顯示subdomain1
。使用.htaccess重寫子域
我做了一些研究,但我找不到太有希望的東西。
我的主域是subdomain.domain.tld
,我想重寫從subdomain1.domain.tld
到第一個的所有流量。意思是說如果某人訪問subdomain1.domain.tld/whatever.php
,他實際上訪問subdomain.domain.tld/whatever.php
,但是,他仍然在瀏覽器的導航欄中顯示subdomain1
。使用.htaccess重寫子域
我做了一些研究,但我找不到太有希望的東西。
你不需要重寫本,其實內部重寫不是單獨的主機之間可能的...
假設兩個「子域」(那些實際上是主機名)是由相同的http服務器你提供服務可以簡單地爲兩臺主機配置相同的DocumentRoot
。這樣他們就提供完全相同的文件系統,這顯然意味着將調用相同的腳本。
如果您只是使用虛擬主機的ServerAlias
命令,那麼您可能更容易脫身。這顯然是唯一可能的,如果你不需要兩個主機單獨的配置。
只要看看apache http服務器的文檔。這說明,並提供了很好的例子: https://httpd.apache.org/docs/2.4/vhosts/examples.html
如果這兩個主機都不的,你可以使用內部代理設置相同的HTTP服務器提供:subdomain1.domain.tld
充當subdomain.domain.tld
前端代理,所以它只是中繼所有傳入的請求和傳出的響應。這是很容易與ProxyPass
的組合和阿帕奇代理模塊提供的ProxyPassReverse
規則進行:https://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypassreverse
這種設置甚至可以用,如果兩個HTTP服務器上不同的IP地址,甚至完全獨立的系統運行。
完美的作品,謝謝! – John