我刚创建了一个网站,其中包含两个环境作为虚拟服务器 - 测试和生产。由于生产服务器对所有人开放,但我只允许我的IP访问测试环境:
<VirtualHost *:80>
DocumentRoot /home/xxx/www
ServerName testing.xxx.com
<Directory /home/xxx/www>
Order deny, allow
Deny from all
Allow from xxx.xxx.xxx.xxx
</Directory>
</VirtualHost>
问题是谷歌已经将我的一些测试环境页面编入索引,并且它们在谷歌搜索结果中可用。我想要任何IP,但是在访问testing.xxx.com时我会被重定向到生产服务器(xxx.com)。我宁愿使用apache.conf
而不是.htaccess
(由于git存储库冲突)。是否可以将条件重定向添加到apache config?
答案 0 :(得分:1)
您可以在mod_rewrite
Apache配置文件中使用httpd.conf
功能:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REMOTE_HOST} !^123\.456\.788 [OR] # exclude your first IP
RewriteCond %{REMOTE_HOST} !^123\.456\.789 # exclude your second IP
RewriteRule ^(.*)$ http://production-env.com/$1 [R=301,L] # redirection to production site
</IfModule>
或者您可以将这些声明放入vhosts配置文件的<Directory>
部分。
通常,您可以利用mod_rewrite
模块来管理Web服务器的URL路由策略。在使用之前,请确保在Apache中安装并激活此模块。