【问题标题】:Angular JS 1.x Deployment on IISIIS 上的 Angular JS 1.x 部署
【发布时间】:2017-08-03 21:22:34
【问题描述】:

我是 Angular js 的新手,我刚刚在 Angular js + material 上创建项目。

我运行命令 gulp build 并将所有文件从 dist 文件夹移动到 IIS 服务器目录;它对实例工作正常,但每当我手动输入地址或刷新地址或尝试返回时,它都会给我一个 404 错误。

我浏览了 Angular 的官方文档,但它似乎根本不起作用,因为这些是来自 Angular 1.x 的错误,并且官方网站显示仅部署了 Angular 2 和 4 部署。

【问题讨论】:

  • 为什么要部署在 iis 上?是 iis express 还是 iis?
  • 那么你建议我应该在哪里部署它?
  • 我是专业的 dot net 开发人员,这是我知道的唯一方法,也是我做这件事的唯一方法:p
  • 我们需要示例代码(路由配置等)。 HTML5 模式? IIS 日志?您是否正在调用返回 404 的 API?
  • 提供更多细节。您可能需要设置 Url Rewrite、设置站点的基地址或其他任何数量。没有更多信息很难说。

标签: javascript angularjs iis angular-material


【解决方案1】:

如果应用程序处于 html5Mode 并在 IIS 中作为 虚拟目录 托管,则需要 URL 重写才能进行刷新:

https://www.iis.net/downloads/microsoft/url-rewrite

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="AngularJS" 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="{0}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

【讨论】:

  • 我已经在我的 web.config 中进行了这些更改,并且还下载了 URL rewrite 为了做到这一点,我已经阅读了文档,但问题是它不起作用....
  • 你能告诉我UiRouteConfig中$locationProvider和$urlRouterProvider的配置,还有,你尝试刷新的url是什么?
  • 如果我输入它只能在基本 URL 中工作,它可以从基本 URL 开始并使用它的锚标签进行导航,但是当我输入像 baseurl.com/internal 这样的手动 URL 时,它会给我 404
猜你喜欢
  • 1970-01-01
  • 2015-12-19
  • 2018-08-08
  • 2020-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
相关资源
最近更新 更多