Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 虚拟主机回退到重写URL_Apache_Dns_Rewrite_Virtualhost_Subdomain - Fatal编程技术网

Apache 虚拟主机回退到重写URL

Apache 虚拟主机回退到重写URL,apache,dns,rewrite,virtualhost,subdomain,Apache,Dns,Rewrite,Virtualhost,Subdomain,我正在设置一个ApacheWeb服务器,我的httpd.conf中有一堆VirtualHost条目,它们都可以正常工作。我的域(例如test.mydomain.com、test2.mydomain.com)上的所有子域请求都发送到相同的IP地址(相同的服务器)。我想将任何无法识别的子域重写为www.mydomain.com,如果没有虚拟主机条目,则只重写为mydomain.com。使用Apache可以实现这一点吗 谢谢。您可以在默认VirtualHost(即,通过没有VirtualHost的主机

我正在设置一个ApacheWeb服务器,我的httpd.conf中有一堆VirtualHost条目,它们都可以正常工作。我的域(例如test.mydomain.com、test2.mydomain.com)上的所有子域请求都发送到相同的IP地址(相同的服务器)。我想将任何无法识别的子域重写为www.mydomain.com,如果没有虚拟主机条目,则只重写为mydomain.com。使用Apache可以实现这一点吗


谢谢。

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

如果这不符合您的需要(例如,如果您希望仍然能够访问回退文档根目录上的某些文件),您可以将PHP脚本设置为404处理程序:

httpd.conf 404.php

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