2017-05-30 151 views
1

我有一个网站(运行在一个框架,所以文件夹是虚拟的)通过.htaccess/.htpasswd阻止访问,但我想允许公共访问一个文件夹/文件。我尝试了其他地方提出的所有解决方案,但至今没有任何成效。允许访问动态生成的文件夹/文件与.htaccess

下面是基本.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不被识别为一个有效的文件,但我不知道为什么最后一个不工作。 :(

回答

1

的问题是使用虚拟文件夹。<Files *>只需要在磁盘上的文件的影响,你应该使用<Location>指令代替。

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

+0

我试过好,但它只是开始抛出500个错误,我认为你不能在'.htaccess'中使用位置(或目录),只能在'httpd.conf'中使用 –

+0

你是对的,无论如何它都会使用httpd.conf。可能的,你可以用同样的方法使用它,也可以使用它。 – xanoetux

+0

不幸的是,我似乎无法编辑我的主机上的'httpd.conf'文件。 –

相关问题