我已经使用Server 2012 R2和IIS设置了新服务器,并将应用程序发布到新网站。当我在开发环境中运行应用程序时,它在URL中显示.aspx文件扩展名,但是当我在IIS服务器上浏览已发布的实例时,它会删除.aspx扩展名。
所以它在某种程度上启用了某种URL重写 - 我如何更改它,因为我需要它与开发版本保持一致。我安装了URL Rewrite扩展,以查看是否已经配置了任何规则,但没有定义规则。
谢谢!
答案 0 :(得分:0)
您可以使用重写规则(examplePage.aspx)配置web.config文件,如下所示:
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="examplePage.aspx Redirect" stopProcessing="true">
<match url="^(.*\/)*examplePage\.aspx$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" />
</conditions>
<action type="Redirect" url="{R:1}" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
希望这应该有用!
答案 1 :(得分:0)
在开发中创建某种Web项目时,我看到过这种行为。所以它可能是安装干扰的东西。我猜你已经看过web.config了,但如果不是,请尝试使用machine.config。 另外,看一下IIS本身,单击根级别(网站上方的那个)时安装的内容。
答案 2 :(得分:0)
这对我们来说是一个问题,我们开发了一个菜单系统,通过根据当前页面URL中的页面名称突出显示相应的菜单项,显示了哪个页面处于活动状态。我们最终修改了我们的代码,而不仅仅是在没有.aspx的情况下查找.contains(&#34; pagename&#34;),而不是评估整个页面名称,包括扩展名。这很好用,我们还没能弄清楚究竟是什么导致URL被重写。上述答案都没有帮助确定我害怕的问题。