Apache-2.2
將所有子域重定向到 vhost 內的主域
我只是想重定向虛擬主機中尚未提及的所有子域
ServerName
以重定向到空子域。我試圖在這個域的所有其他虛擬主機之後將它添加到我的 httpd.conf 中。<VirtualHost *:80> ServerName *.example.com RedirectPermanent / http://example.com/ </VirtualHost>
空子域(之前載入)的部分如下所示。
<VirtualHost *:80> DocumentRoot /var/www/example/htdocs ServerName example.com <Directory /var/www/example/htdocs> Options FollowSymLinks AllowOverride All Order Allow,Deny Allow from all </Directory> </VirtualHost>
重新啟動 httpd 服務後,將瀏覽器指向
abc.example.com
. 我究竟做錯了什麼?我希望這個簡單任務的其他答案中描述的基於正則表達式的匹配不需要。
只需在vhost配置文件的主塊下方添加一個塊。只需為子域指定
ServerAlias
使用萬用字元*
。最後,使用 指定重定向地址RedirectPermanent
。Listen 80 <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ServerName example.com <Directory /var/www/html/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html ServerAlias *.example.com RedirectPermanent / http://example.com/ </VirtualHost>