首页 > 解决方案 > Apache - AliasMatch 和 htaccess 身份验证

问题描述

我正在尝试为 apache http(s) 服务器设置一个简单的别名匹配。目的是允许使用 mydomain.com/myfiles*/ 之类的任何 url 访问 mydomain.com/myfiles/ 而无需使用 url 重写我正在使用 .htaccess 文件来要求身份验证。

我的问题是:当我添加 AliasMatch 指令时,url 是可识别的,但我收到错误403 forbidden但没有收到身份验证弹出窗口,要求输入基本 url 的用户/密码以及别名。我错过了什么?

我尝试了几乎所有我能想到的语法

AliasMatch "^/myfiles(.*)" "/myfiles/$1"

在全局 conf 以及虚拟主机 conf 中。

我的Directory指令

<Directory /xxx/xxx/xxxx/myfiles>
   AllowOverride Authconfig
   Require all denied
</Directory>

我的.htaccess

AuthType Basic
AuthName "Password Required"
AuthUserFile "/xxxx/xxx/xxx"
Require valid-user

myfiles 是一个符号链接,当没有 AliasMacth 指令时可以正常工作。

标签: apache.htaccessalias

解决方案


您的 AliasMatch 语法应该是 AliasMatch "^/myfiles(.*)$" "/real/path/to/myfiles/$1" 和 '$' 和 'real-path' 请尝试


推荐阅读