dod*_*ron 5 apache permissions .htaccess access-control
对于运行 apache 2.4.7 的 Ubuntu 14.04 网站,我有一个类似于以下的目录结构:
/websites/mywebsite/index.htm
/websites/mywebsite/private.htm
/websites/myqwbsite/folder/privatefile.ext
/websites/mywebsite/folder/subfolder/publicfile.ext
Run Code Online (Sandbox Code Playgroud)
在该站点的 Apache 配置中,我有
<Directory /websites/mywebsite/>
AllowOverride Limit
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
我想在站点文件夹中使用 .htaccess 文件,这样 private.htm 和 privatefile.ext 文件是,Require all denied但其他一切都被授予。
我尝试了以下两个 .htaccess 文件:
/websites/mywebsite/.htaccess:
<FilesMatch (private.*.htm)$>
Require all denied
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
/websites/mywebsite/folder/.htaccess:
Require all denied
Run Code Online (Sandbox Code Playgroud)
/websites/mywebsite/folder/subfolder/.htaccess:
Require all granted
Run Code Online (Sandbox Code Playgroud)
但是,apache 给出了 500 - “此处不允许要求” /websites/mywebsite/.htaccess
如何使用与 apache 2.4 兼容的配置(即我不想加载 mod_access_compat 并使用旧样式配置)来实现我想要的?
小智 7
在站点的 apache 配置中,您必须扩展 AllowOverride 属性。添加:FileInfo 和 AuthConfig。或者设置“AllowOverride All”
我有同样的问题,用这个配置修复:
<Directory /websites/mywebsite/>
Options +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride FileInfo AuthConfig
</Directory>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9314 次 |
| 最近记录: |