Apache-2.2
存在其他“子域”時重寫 subdomain.domain.com
我的 httpd.conf 看起來像這樣:
NameVirtualHost 12.34.56.78:80 <VirtualHost 12.34.56.78:80> DocumentRoot /var/www/html/site ServerName www.example.com <IfModule mod_rewrite.c> RewriteEngine On ... </IfModule> </VirtualHost> <VirtualHost 12.34.56.78:80> ServerName blog.example.com DocumentRoot /var/www/html/blog </VirtualHost> Listen *:2194 <VirtualHost *:2194> Redirect / http://mgr.example.com/ </VirtualHost>
我希望能夠啟用“類別”作為子域,即如果使用者訪問:
science.example.com
它應該向他顯示該 URL 本身,但向他顯示 www.example.com/science.php 的內容
它不必是基於通用/萬用字元的方法 - 這些類別將是我可以單獨指定的一小部分。我只是不希望我添加的任何內容干擾網站的現有功能。
我怎樣才能做到這一點?
添加:
ServerAlias *.example.com
到虛擬主機並使用這些重寫規則:
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} !^(www)\. [NC] RewriteCond %{HTTP_HOST} ^(.*)\.example\.com [NC] RewriteRule (.*) http://www.example.com/%1 [R=301,L]
如果您已經有一個子域,例如。
subsub.example.com
, 為另一個虛擬主機顯式設置為 ServerName/ServerAlias,它將優先於 wildxard 虛擬主機