我们开发了Angular2应用程序。
在使用'ng serve'的angular-cli下运行时,它可以正常工作。
一旦我们将应用程序托管到IIS 7.5上,我们可以浏览到应用程序的根目录,并且可以从应用程序导航创建的任何其他视图中导航。
但是当用户尝试加载针对特定路由或组件的URL时,问题就开始了。
因此,如果我们转到http://serverurl ...它会加载index.html,然后单击index.html上的导航链接,它会将用户带到http://serverurl/route1/component1 但是,当用户尝试直接通过在浏览器地址栏中键入http://serverurl/route1/component1来访问http://serverurl/route1/component1时,它会将该请求发送到IIS,然后返回资源未找到的错误。
很容易理解,该url不存在于服务器上,这是angular url。理想情况下,它应该加载index.html并将其余的url传递给angular路由器并加载/route1/component1。这在'ng serve'中可以工作,但在IIS 7.5中无法工作。我需要在IIS中进行任何设置才能使其正常工作吗?或者在Angular2应用程序中需要做一些事情吗?
有人能建议我如何解决这个问题吗?
在使用'ng serve'的angular-cli下运行时,它可以正常工作。
一旦我们将应用程序托管到IIS 7.5上,我们可以浏览到应用程序的根目录,并且可以从应用程序导航创建的任何其他视图中导航。
但是当用户尝试加载针对特定路由或组件的URL时,问题就开始了。
因此,如果我们转到http://serverurl ...它会加载index.html,然后单击index.html上的导航链接,它会将用户带到http://serverurl/route1/component1 但是,当用户尝试直接通过在浏览器地址栏中键入http://serverurl/route1/component1来访问http://serverurl/route1/component1时,它会将该请求发送到IIS,然后返回资源未找到的错误。
很容易理解,该url不存在于服务器上,这是angular url。理想情况下,它应该加载index.html并将其余的url传递给angular路由器并加载/route1/component1。这在'ng serve'中可以工作,但在IIS 7.5中无法工作。我需要在IIS中进行任何设置才能使其正常工作吗?或者在Angular2应用程序中需要做一些事情吗?
有人能建议我如何解决这个问题吗?
URL Rewrite
模块编写规则,将某个 URL 下的所有内容重定向到该 URL 的内容。 - Harry Ninh