1

我有一个网站,我想重定向所有接受 1 个目录路径的请求。

http://mysite.com/application
http://mysite.com/application/templates
http://mysite.com/application/admin (密码保护)

RewriteCond %{REQUEST_URI} !^\/application
RewriteRule ^.*$ http://mynewsite.com [R=307]

我的重写引擎.htaccess工作正常,除非访问受密码保护的 /admin 目录。当我尝试请求它时,我被重定向了。如果我重命名文件夹.htaccess中的。/admin它工作正常。我怀疑浏览器(FF)正在请求另一个与重定向匹配的网址。我怎样才能保护目录密码,但不重定向?

4

1 回答 1

4

通过增加:

RewriteCond %{REQUEST_URI} !401

现在它起作用了。我相信这是由于共享的虚拟主机配置预先分配了 4XX 和 5XX 页面重定向。所以,这就是正在发生的事情。!401 并不完美,但对于我的简单应用程序来说它可以工作。我认为这样的事情会更好地捕获 401 作为 uri 的开头(模式未经测试):

RewriteCond %{REQUEST_URI} !^\/401
于 2012-06-11T01:59:00.347 回答