VirtualHosts回退重写URL

时间:2013-06-04 02:38:02

标签: apache dns rewrite virtualhost subdomain

我正在设置一个Apache Web服务器,我的httpd.conf中有一堆VirtualHost条目,一切正常。我的域上的所有子域请求(例如test.mydomain.com,test2.mydomain.com)都被发送到相同的IP地址(同一服务器)。我想将任何无法识别的子域重写为www.mydomain.com,或者只是mydomain.com,如果没有VirtualHost条目的话。这是否可以使用Apache实现?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以在默认的VirtualHost中设置重定向规则(即通过没有VirtualHost的主机访问服务器时使用的规则):

Redirect permanent / http://example.com/

如果这不符合您的需求(例如,如果您仍希望能够访问备用DocumentRoot上的某些文件),您可以将PHP脚本设置为404处理程序:

的httpd.conf

ErrorDocument 404 /404.php

404.php

<?php
header($_SERVER["SERVER_PROTOCOL"] . " 301 Moved Permanently");
header("Location: http://example.com");