Debian
子域總是重定向到主域 - Apache2 VirtualHosts & Debain
我想使用 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
執行此操作後,配置文件的符號連結將放置在啟用站點的目錄中,假設不存在其他問題,該目錄應允許訪問該站點。
這個問題提供了更多細節。