【问题标题】:Permitting access to a dynamically generated folder/file with .htaccess允许使用 .htaccess 访问动态生成的文件夹/文件
【发布时间】:2017-05-30 20:03:12
【问题描述】:

我有一个站点(在框架上运行,因此文件夹是虚拟的),通过 .htaccess/.htpasswd 阻止了访问,但我想允许公共访问一个文件夹/文件。我已经尝试了其他地方建议的所有解决方案,但到目前为止没有任何效果。

这是.htaccess 的基本内容:

AuthUserFile /var/www/vhosts/mysite.com/.htpasswd
AuthName "MySite Restricted Area"
AuthType Basic
Require valid-user

我想允许访问 URL /api/user/create。我尝试了以下变体,都没有效果:

<Files "create">
Allow from all
</Files>

<FilesMatch create$>
Allow from all
</FilesMatch>

SetEnvIf Request_URI "create" allow
Deny from all
Allow from env=allow

似乎文件名create 未被识别为有效文件,但我不知道为什么最后一个文件不起作用。 :(

【问题讨论】:

    标签: apache .htaccess authentication .htpasswd


    【解决方案1】:

    问题是您使用的是虚拟文件夹。 &lt;Files *&gt; 只对磁盘上的文件生效。您应该改用&lt;Location&gt; 指令。

    https://httpd.apache.org/docs/2.4/en/mod/core.html#location

    【讨论】:

    • 我也试过了,但它只是开始抛出 500 个错误。我认为您不能在.htaccess 中使用位置(或目录),只能在httpd.conf 中使用。
    • 你是对的。如果可能的话,最好还是使用 httpd.conf。您可以以同样的方式使用它,也可以用于密码。
    • 很遗憾,我似乎无法在主机上编辑 httpd.conf 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 2014-12-31
    • 1970-01-01
    • 2016-03-23
    • 2022-06-28
    • 2016-11-27
    • 1970-01-01
    相关资源
    最近更新 更多