我有一个简单的Web应用程序驻留在Web服务器上。设置是Apache,PHP,MySQL,Windows Server 2012 R2。服务器驻留在公司防火墙后面的内部网络上。
网页应用只能通过我们的内部网络通过网址 www.webapp.example.com
进行访问当有人试图在外部(即在家)访问此网址时,他们会在客户端浏览器中收到一般错误消息,例如以下屏幕截图中的Chrome;
我的问题是,有什么方法可以创建自定义错误页面,这样当有人试图访问我们网络外的 www.webapp.example.com 时,他们会看到一个自定义错误,简单的东西;
此应用程序仅在www.example.con网络中提供
我们拥有www.example.com,并且可通过互联网公开访问,但子域 www.webapp.example.com 只能在内部访问。
我不确定这是否必须在Web服务器,.htaccess文件或其他地方配置?理想情况下,我只想允许访问一系列IP(123.456.xxx.xxx),其他所有人都应该看到自定义错误页面。
自定义错误处理的新手,所以感谢任何帮助
答案 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>