.htaccess验证并排除一个位置(使用mod_rewrite)

时间:2014-05-09 08:38:47

标签: .htaccess mod-rewrite apache2

我正在寻找解决方案,因为几个小时,我无法弄清楚如何从.htaccess文件中的AuthBasic中排除一个位置。 我在互联网上找到了解决方案,但它们只在没有启用RewriteRule的情况下工作。

我的.htaccess文件:

SetEnv APPLICATION_ENV development
SetEnvIf Request_URI ^/api noauth=1

Order Deny,Allow
Allow from env=noauth
Deny from all
Satisfy any

AuthType Basic
AuthName "Restricted"
AuthUserFile .htpasswd
Require valid-user

RewriteEngine On
IndexIgnore */*
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php

当我评论最后一行(使用RewriteRule)时,此异常有效,但当然重写引擎无法正常工作。

1 个答案:

答案 0 :(得分:1)

将您的SetEnvIf行更改为:

SetEnvIf Request_URI ^/(api|index\.php) noauth=1