我希望你做得很好。我刚刚使用 CLI 为 godaddy 部署了一个我最近一直在工作的非营利组织网站(可在此处找到:www.leonesistersunited.com)。部署后,一切都和预期的一样好。但是,在任何页面上,如果您刷新浏览器,都会收到 404 错误。关于可能导致这种情况的任何想法?是我的问题还是 GoDaddy 的问题?我在 Windows 层 (IIS) 上托管。
谢谢。
最佳答案
对于 GoDaddy 网络托管有两种不同的解决方案
在 Angular index.html 中编写 base-href
<base href="/nameOfTheappFolder/"> or
部署 ng build --prod --base-href "/nameOfTheAppFolder/"
在你 angular 6 app.module 调用这个提供者
providers: [{ provide: APP_BASE_HREF, useValue: '/nameForTheAppFolder/'}]
对于 Linux 主机,您可以像这样使用 .htacces 文件替换应用程序目录文件夹名称
<IfModule mod_rewrite.c>
Options Indexes FollowSymLinks
RewriteEngine On
RewriteBase /myappdirectory/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /myappdirectory/index.html [L]
</IfModule>
对于 Windows 主机,您需要执行 web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="./index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
关于angular - 刷新后将 Angular 2 部署到 GoDaddy 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45448414/