map*_*sah 3 web-applications deploying angular
我希望你做得很好。我刚刚部署了一个我最近一直在工作的非营利组织网站(在这里找到:www.leonesistersunited.com)到 Godaddy 使用 CLI 来构建产品。部署后,一切都和预期的一样好。但是,在任何页面上,如果您刷新浏览器,则会收到 404 错误。关于可能导致这种情况的任何想法?是我的问题还是 GoDaddy 的问题?我在 Windows 层 (IIS) 上托管。
谢谢。
对于 GoDaddy 虚拟主机是两种不同的解决方案
在 Angular index.html 中写入 base-href
<base href="/nameOfTheappFolder/"> or
Run Code Online (Sandbox Code Playgroud)
部署 ng build --prod --base-href "/nameOfTheAppFolder/"
在你 angular 6 app.module 调用这个提供者
providers: [{ provide: APP_BASE_HREF, useValue: '/nameForTheAppFolder/'}]
Run Code Online (Sandbox Code Playgroud)
对于 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>
Run Code Online (Sandbox Code Playgroud)
对于 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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1805 次 |
| 最近记录: |