0

Angular 构建托管在服务器中并且工作正常,除了在刷新任何页面时,它会转到 Web 服务器404页面。

在寻找解决方案时,每个人都建议使用HashLocationStrategy。有没有其他方法可以解决这个问题,这样哈希符号就不会出现在 url 中。

网络服务器:阿帕奇。

注意:一种解决方案是使用 .htaccess 将 404 错误响应重定向到 angular build 的 index.html,但在这种情况下,从注册邮件中点击的帐户激活点也会转到 index.html

提前致谢。

4

1 回答 1

2

在 apache 中启用重写引擎。您可以通过以下命令启用它

**sudo a2enmod rewrite**

将以下内容添加到 .htaccess 文件中。

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.*$ - [NC,L]

RewriteRule ^(.*) /index.html [NC,L]

它将解决路由问题,当您的应用程序中没有来自角度路由的路由但编写 404 错误文档页面并重定向到 index.html 不好时,您可以重定向到 Home 或 index 组件。

于 2019-07-24T08:31:22.677 回答