我正在设置一个 Apache Web 服务器,并且我的 httpd.conf 中有一堆 VirtualHost 条目,它们都可以正常工作。我的域(例如 test.mydomain.com、test2.mydomain.com)上的所有子域请求都发送到相同的 IP 地址(相同的服务器)。如果没有针对它们的 VirtualHost 条目,我想将任何无法识别的子域重写为简单的 www.mydomain.com 或 mydomain.com。这可以使用 Apache 实现吗?
谢谢。
我正在设置一个 Apache Web 服务器,并且我的 httpd.conf 中有一堆 VirtualHost 条目,它们都可以正常工作。我的域(例如 test.mydomain.com、test2.mydomain.com)上的所有子域请求都发送到相同的 IP 地址(相同的服务器)。如果没有针对它们的 VirtualHost 条目,我想将任何无法识别的子域重写为简单的 www.mydomain.com 或 mydomain.com。这可以使用 Apache 实现吗?
谢谢。
您可以在默认的 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");