Apache Web 服务器别名导致多个 URL 出现 404

Apache Web 服务器别名导致多个 URL 出现 404

我试图将所有从 /search-engine/* 开始的 URL 重定向到 /var/www/sea​​rch-engine/dist,但结果显示未找到,我尝试使用 AliasMatch,如下所示

AliasMatch ^/search-engine(.*) /var/www/search-engine/dist

我使用的前端技术是 Angular。有人能告诉我我遗漏了什么吗?我也尝试过阅读 Apache2.4 的许多文档,但无法理解有助于实现结果的内容。

答案1

为什么不简单地

Alias "/search-engine" "/var/www/search-engine/dist"

当您想使用AliasMatch文档提示时:

AliasMatch "^/search-engine(/|$)(.*)" "/var/www/search-engine/dist$1$2"

第一个括号匹配文件路径分隔符 ( /) 或字符串结尾。接下来获取其后的所有内容。请注意,您必须使用 和 将它们粘贴到目录路径中$1$2这在文档

Alias会自动将 URI 中除匹配部分之外的任何其他部分复制到右侧文件路径的末尾,而 则AliasMatch不会。这意味着在几乎所有情况下,您都希望正则表达式从头到尾匹配整个请求 URI,并在右侧使用替换。

更新

检查文件权限/var/www/search-engine/dist/。还要检查您是否正在运行 SELinux 或 AppArmor 或类似程序,并在需要时更新这些配置文件。

相关内容