作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应用程序池,我想在 ARR 服务器下运行这些应用程序,该服务器应该充当我所有应用程序的路由器。
我已经定义了一套应该在瀑布中应用的规则,但是有些东西没有以正确的方式工作。
第一条规则应该处理尾部斜杠,其他规则应该映射我的应用程序以使用重写 URL 为我的内部 DNS 服务器解析,但问题似乎发生在第一条规则期间。
默认行为是,如果我尝试使用 http://myapp 启动我的应用程序将返回 404 代码,如果我尝试通过添加斜杠( http://www.myapp/ )来运行它,一切正常。所以基本上我的规则应该检查没有斜线的 Url 模式:如果资源是一个目录,它应该在 Url 的末尾添加斜线。
所以捕获 url 的模式是以下正则表达式:
.*[^/]$
{REQUEST_FILE} -> Is a directory
{REQUEST_FILE} -> Is not a file
{R:O}/
mywebapp/* redirect to www.mydnsappaddress/{R:1}
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Trailing Slash" enabled="false" stopProcessing="true">
<match url=".*[^/]$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" />
</conditions>
<action type="Redirect" url="{R:0}/" />
</rule>
<rule name="app1" enabled="false" patternSyntax="Wildcard">
<match url="sites/doc/*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://mypersonaldnsaddress/{R:0}" />
</rule>
<rule name="ASTCO portale NWS" enabled="true" patternSyntax="Wildcard">
<match url="portale/*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="http://mypersonaldnsaddress/{R:0/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
最佳答案
我不得不问一个明显的问题:你的例子是不是故意有enabled
设置为 false
?
我能够完全按照您的意愿进行这项工作:如果目录存在,请在末尾添加一个斜杠,如果不存在,请不要。
<rule name="Trailing Slash" enabled="true" stopProcessing="true">
<match url=".*[^/]$" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" />
</conditions>
<action type="Redirect" url="{R:0}/" />
</rule>
关于regex - IIS ARR 规则在向我的应用程序添加尾部斜杠时未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29693323/
我是一名优秀的程序员,十分优秀!