我正在使用ASP.NET 4.0。我有一个名为pup
的文件夹。该文件夹下有一个名为login.aspx
的网页。当用户尝试转到login.aspx
页面时,我会将其重定向到另一个名为InvalidPage.aspx
的网页。
当我从本地运行我的应用并输入网址localhost:2388/pup/login.aspx
时,页面login.aspx
不会重定向到InvalidPage.aspx
。但是当我输入localhost:2388/PUP/login.aspx
时,它确实有效。这里文件夹的名称是大写的。这个案件很重要吗?如何让URl忽略这个案子?
答案 0 :(得分:0)
在IIS中,URL不区分大小写,但重定向逻辑在哪里?在决定进行重定向时,你在某处进行字符串比较吗?这是区分大小写的,可能是问题的原因。
答案 1 :(得分:0)
将此规则添加到Web配置文件中:
<rules>
<rule name="Convert to lcase" stopProcessing="false">
<match url=".*[A-Z].*" ignoreCase="false"/>
<conditions>
<add input="{URL}" negate="true" pattern="\.axd$"/>
</conditions>
<action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent"/>
</rule>
</rules>