自定义错误页面Intranet子域

时间:2016-11-21 10:44:17

标签: php apache .htaccess error-handling windows-server-2012-r2

我有一个简单的Web应用程序驻留在Web服务器上。设置是Apache,PHP,MySQL,Windows Server 2012 R2。服务器驻留在公司防火墙后面的内部网络上。

网页应用只能通过我们的内部网络通过网址 www.webapp.example.com

进行访问

当有人试图在外部(即在家)访问此网址时,他们会在客户端浏览器中收到一般错误消息,例如以下屏幕截图中的Chrome;

enter image description here

我的问题是,有什么方法可以创建自定义错误页面,这样当有人试图访问我们网络外的 www.webapp.example.com 时,他们会看到一个自定义错误,简单的东西;

  

此应用程序仅在www.example.con网络中提供

我们拥有www.example.com,并且可通过互联网公开访问,但子域 www.webapp.example.com 只能在内部访问。

我不确定这是否必须在Web服务器,.htaccess文件或其他地方配置?理想情况下,我只想允许访问一系列IP(123.456.xxx.xxx),其他所有人都应该看到自定义错误页面。

自定义错误处理的新手,所以感谢任何帮助

1 个答案:

答案 0 :(得分:1)

您可以使用RewriteCond and %{REMOTE_HOST}定位除内部IP地址之外的所有内容:

<VirtualHost *:80>
  ServerName www.webapp.example.com

  RewriteEngine On
  RewriteCond %{REMOTE_HOST} !^123\.456\..*
  RewriteRule $ /no_public_access.html [L]

  Alias /no_public_access.html /path/to/no_public_access.html

  # …
</VirtualHost>