Debian

子域總是重定向到主域 - Apache2 VirtualHosts & Debain

  • July 2, 2014

我想使用 apache2 VirtualHosts 設置一個主站點和一個用於開發的子域。這是我的 site.conf 虛擬主機文件的樣子:

<VirtualHost *:80>
       ServerName dev.example.com

       DocumentRoot /var/www/site/subdomain
       <Directory /var/www/site/subdomain >
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>

       ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       <Directory "/usr/lib/cgi-bin">
               AllowOverride None
               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
       </Directory>

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel debug

       CustomLog ${APACHE_LOG_DIR}/sub.log combined
</VirtualHost>

<VirtualHost *:80>
       ServerName www.example.com
       ServerAlias example.com

       DocumentRoot /var/www/site/main
       <Directory /var/www/site/main >
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       </Directory>

       ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       <Directory "/usr/lib/cgi-bin">
               AllowOverride None
               Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
               Order allow,deny
               Allow from all
       </Directory>

       # Possible values include: debug, info, notice, warn, error, crit,
       # alert, emerg.
       LogLevel warn

       CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

問題是每次我訪問 dev.example.com 時,我都會得到 example.com。

我已經嘗試了我能找到的所有其他解決方案(使用文字 IP、重新排序、使用埠而不是命名主機)……我現在完全陷入困境。有人有什麼想法嗎?

編輯: 這是我的虛擬主機轉儲(相關部分):

port 80 namevhost dev.example.com (/etc/apache2/sites-enabled/example.conf:1)
port 80 namevhost www.example.com (/etc/apache2/sites-enabled/example.conf:44)

此外,如果我刪除主域站點,則根本不會檢測到子域站點。

WordPress 是問題所在

或者更確切地說,我不知道我必須將 Wordpress 站點 url 配置為子域,否則它只會重定向到給定的域……

所以解決方案:打開wp_options表並編輯 site_url 以包含子域。

確保您啟用您的網站

a2ensite dev.mysite.com

執行此操作後,配置文件的符號連結將放置在啟用站點的目錄中,假設不存在其他問題,該目錄應允許訪問該站點。

這個問題提供了更多細節。

引用自:https://serverfault.com/questions/609049