Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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
Php 为不存在';不存在_Php_Dns_Subdomain_Errordocument - Fatal编程技术网

Php 为不存在';不存在

Php 为不存在';不存在,php,dns,subdomain,errordocument,Php,Dns,Subdomain,Errordocument,我的一个网站上有很多子域。当某人转到一个不存在的子域时,我想重定向到我的主域上的404页面 noexist.example.com-->example.com/404.php?subdomain=noexist(如果HTTP\u referer可以提供该信息,则不带查询字符串) 我在安装了cPanel的VPS上运行LAMP。我可以通过WHM编辑域的DNS区域文件。有大量关于如何创建自定义404页面的教程,无需重定向,因为apache应该为您解决这一问题 在我的服务器支持中心打了几个小时的

我的一个网站上有很多子域。当某人转到一个不存在的子域时,我想重定向到我的主域上的404页面

noexist.example.com-->example.com/404.php?subdomain=noexist(如果HTTP\u referer可以提供该信息,则不带查询字符串)


我在安装了cPanel的VPS上运行LAMP。我可以通过WHM编辑域的DNS区域文件。

有大量关于如何创建自定义404页面的教程,无需重定向,因为apache应该为您解决这一问题


在我的服务器支持中心打了几个小时的罚单后,我终于设置了通配符子域


现在,当用户访问subdomain.example.com时,如果该子域是通过cPanel显式设置的,它将正常工作。如果未明确设置该子域,则该子域将被内部重定向到example.com,在那里我可以获取他们使用的子域,并根据需要进行处理(显示页面、重定向到子域或显示404错误)。

不重定向错误。只要让它直接发出错误(直接显示404错误,而不是重定向)。。。否则,您将违反标准,对不存在的位置发出30倍错误,然后对确实存在的位置发出404错误…如@ircmaxell sais,此外,您可以选择(1)为不存在的子域配置
*.example.com
vhost(前提是您在另一个vhost中明确定义了它们)和(2)使用正确的日志设置,Apache可以为您记录请求的http主机和引用程序,并且为了解析这些日志以获取统计信息,有许多工具可用。@ircmaxell Redirect可能是错误的词。无论页面的物理位置如何,我都希望显示404页面。这些链接用于设置40存在的域上的4页。在我的场景中,用户可能会转到sub.example.com,其中子域“sub”尚未创建且不存在。当前,当浏览器访问不存在的子域时,它只会告诉您无法解析服务器。我想转到错误页。