我正在嘗試設定一個臨時伺服器作為生產伺服器的子網域運行,但遇到了一個小問題。
我的生產伺服器託管在 RackSpace 虛擬機器上。我克隆了這台機器作為我的臨時伺服器。我還添加了A
記錄以將子網域位址定向到這個新虛擬機器。
我希望能夠透過鍵入 來存取此臨時伺服器staging.domain.com
,但目前不起作用。我發現有效的解決方法是輸入www.staging.domain.com
.請注意www
子網域前面的額外內容。
我的目錄結構是這樣的,在我的專案目錄中,我有一個public_html
目錄(顯然包含可公開查看的檔案)和 a private
(包含更多後端程式碼)。我想讓 Apache/var/www/staging.domain.com/public_html/index.php
作為我訪問staging.domain.com
.
如前所述,我目前只能透過訪問 來獲得我想要的東西www.staging.domain.com
。當我訪問時,staging.domain.com
我被重定向到www.staging.domain.com/staging.domain.com/public_html
.
我的httpd.conf設定如下(我絕對不是設定這個檔案的專家):
<VirtualHost *:80>
# General Server Setup
ServerAdmin [email protected]
ServerName www.staging.domain.com
ServerAlias staging.domain.com
# Indexes + Directory Root
DirectoryIndex index.php index.html
DocumentRoot /var/www/staging.domain.com/public_html
<Directory /var/www/staging.domain.com/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
我非常確定我之前提到的重定向正在發生,因為我DocumentRoot
在這個檔案中指定了。
另外,我嘗試了許多不同的組合CNAME
和A
記錄,試圖使其發揮作用,但我願意接受您可能提出的任何其他建議。
更新
我沒有為我的.htaccess
文件指定任何內容,因此這不會產生任何影響。
我目前該伺服器的 DNS 記錄是:
類型 名稱 內容 TTL A staging.domain.com XX.XX.XX.XX(伺服器IP) 300 A www.staging.domain.com XX.XX.XX.XX(伺服器IP) 300
我確實沒有配置任何其他資訊可以與您分享。如果你能想到什麼就問吧。
答案1
事實證明,目錄.htaccess
中有一個預設檔案/var/www/
導致了此操作。我按照@Shane_Madden 的建議刪除了它,解決了問題。