gpt4 book ai didi

apache - Request_URI改写为index.php时如何使用SetEnvIf?

转载 作者:行者123 更新时间:2023-12-04 12:45:52 28 4
gpt4 key购买 nike

我们有一个受密码保护的 drupal 网站 a.com。不过,我希望所有 a.com/api/... URI 都不是。所以我读到了关于 SetEnvIf 的内容:

AuthName "Stage"
AuthType Basic
AuthUserFile ~/.htpasswd
SetEnvIf Request_URI ".*data_sheets.*\.pdf" noauth
SetEnvIf Request_URI "/api/.+" noauth
SetEnvIfNoCase Request_Method OPTIONS noauth
Order Deny,Allow
Deny from all
Require valid-user
Allow from env=noauth
Satisfy Any

/api/foobar URI 仍然要求输入密码。由于它是一个 Drupal 网站,在 anubhava 的帮助下,我们认为它与 index.php 处理请求的方式有关。

如何处理?

编辑

添加

RewriteCond %{REQUEST_URI} ^/api/ [NC]
RewriteRule ^ - [E=noauth]

紧接着

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]

没有帮助

最佳答案

这对我有用:

AuthName "Stage"
AuthType Basic
AuthUserFile /var/www/html/.htpasswd
SetEnvIf Request_URI ".*data_sheets.*\.pdf" noauth
SetEnvIf Request_URI "/api/.+" noauth
SetEnvIfNoCase Request_Method OPTIONS noauth

RewriteEngine On
RewriteCond %{THE_REQUEST} \s/api/
RewriteRule ^ - [E=noauth:1]

Order Deny,Allow
Deny from all
Require valid-user
Allow from env=noauth
Allow from env=rewritten
Satisfy Any

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ /index.html [L]

关于apache - Request_URI改写为index.php时如何使用SetEnvIf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48887928/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com