[英].htaccess redirects not working with Angular 4
我知道很多人都会问这个问题,但是我查看了所有答案,但没有任何效果。
我确定问题是我需要创建一个 .htaccess 文件并将其添加到我的 dist 因为这是 ISP 控制台指南所说的。
我正在使用 Angular cli 和构建命令:
ng build --aot --prod --base-href ./
我已将此 .htaccess 文件添加到我的应用程序文件夹 - 与我的 index.html 文件相同的文件夹。 这是 .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]
我在 SO 上尝试了各种不同答案的各种片段,我尝试了 angular.io 指南上的片段,我尝试更改 base-href。 似乎没有任何效果,我什至无法确定它是否已正确添加到构建中的 dist 中。 我能做些什么?
在与我的托管服务提供商的技术团队大惊小怪之后,他们确认我的.htaccess文件没有通过我的FTP客户端上传。 看起来我应该在构建之后将它添加到dist文件夹中。 他们添加的.htaccess文件的代码与我之前尝试的其中一个版本的代码相同,并且工作正常:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
根据文档https://angular-doc.ru/guide/deployment
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.