我正在设置一个Apache Web服务器,我的httpd.conf中有一堆VirtualHost条目,一切正常。我的域上的所有子域请求(例如test.mydomain.com,test2.mydomain.com)都被发送到相同的IP地址(同一服务器)。我想将任何无法识别的子域重写为www.mydomain.com,或者只是mydomain.com,如果没有VirtualHost条目的话。这是否可以使用Apache实现?
感谢。
答案 0 :(得分:1)
您可以在默认的VirtualHost中设置重定向规则(即通过没有VirtualHost的主机访问服务器时使用的规则):
Redirect permanent / http://example.com/
如果这不符合您的需求(例如,如果您仍希望能够访问备用DocumentRoot上的某些文件),您可以将PHP脚本设置为404处理程序:
ErrorDocument 404 /404.php
<?php
header($_SERVER["SERVER_PROTOCOL"] . " 301 Moved Permanently");
header("Location: http://example.com");