除非查看目录,否则重定向到另一个子域

时间:2012-06-05 12:14:05

标签: apache .htaccess mod-rewrite

我有一个最近被移动到负载均衡器后面的站点。这不是问题,直到我的客户端尝试使用某些需要很长时间才能完成的功能 - 这显然会影响负载均衡器的超时并且操作失败。我知道理想情况下,这些函数会被重写以便更快地运行,或者使用后台进程,但客户现在不愿意为此付费,因此设计了一种解决方法。

我能够创建一个直接连接到服务器IP的URL,绕过负载均衡器,但我不希望普通用户能够通过此URL访问该站点。因此,我正在尝试创建一个.htaccess规则,该规则将用户填充到网站的主URL,除非他们从管理页面查看它。据我所知,正确的格式应该是:

RewriteCond %{HTTP_HOST} bypass.mydomain.com
RewriteCond %{REQUEST_URI} !^admin
RewriteRule (.*) http://www.mydomain.com/$1 [r=301,L]

根据我的理解,这应该是:

  • 如果用户使用bypass.mydomain.com
  • 访问的URI不以“admin”
  • 开头
  • 将用户从bypass.mydomain.com转发至www.mydomain.com

然而,这似乎不起作用。相反,它每次都转发。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可能已经检查了这个,但是您有.htaccess文件吗?如果不是,这可能是由allowoverride参数引起的。 See the doc

亚历