gpt4 book ai didi

iis-7 - 为 AngularJS HTML5Mode 配置 IIS URL 重写模块仍然无法正常工作

转载 作者:行者123 更新时间:2023-12-03 18:30:06 25 4
gpt4 key购买 nike

我搜索了一些关于配置 IIS URL 重写模块以使用 AngularJS HTML5Mode 的信息,甚至尝试了我在另一个问题上找到的信息:

How do I configure IIS for URL Rewriting an AngularJS application in HTML5 mode?

我已经对我的 IIS 进行了更改,如上面链接中的问题所示,并设置了基本 URL,当我访问根站点(即 http://localhost/appname/)时,该站点可以正常工作。我所有的观点和路由都很好。

然而;当我尝试在新选项卡或浏览器窗口中访问特定 URL(即 http://localhost/appname/about)时,我得到 404。我还缺少什么吗???

我正在运行安装了 URL 重写模块的 Windows 7、IIS 7。

** 我必须将协议(protocol)隔开以允许接受示例 URL。

最佳答案

安装此扩展:https://www.iis.net/downloads/microsoft/url-rewrite

并将其添加到 system.webServer 下的 web.config

<rewrite>
<rules>
<clear />
<rule name="Html5Mode" enabled="true" stopProcessing="true">
<match url="^(.+)$" negate="true" />
<conditions>
<add input="{REQUEST_URL}" pattern="^(.+)$" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" logRewrittenUrl="true"/>
</rule>
<rule name="AngularJS" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>

这是完整的 web.config,包括提供静态文件。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Html5Mode" enabled="true" stopProcessing="true">
<match url="^(.+)$" negate="true" />
<conditions>
<add input="{REQUEST_URL}" pattern="^(.+)$" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" logRewrittenUrl="true"/>
</rule>
<rule name="AngularJS" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
<handlers>
<clear />
<add
name="StaticFile"
path="*" verb="*"
modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"
resourceType="Either"
requireAccess="Read" />
</handlers>
<staticContent>
<mimeMap fileExtension=".*" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>

关于iis-7 - 为 AngularJS HTML5Mode 配置 IIS URL 重写模块仍然无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com