IIS 8中的URL中缺少.aspx

时间:2017-10-10 10:54:18

标签: asp.net url-rewriting iis-8

我已经使用Server 2012 R2和IIS设置了新服务器,并将应用程序发布到新网站。当我在开发环境中运行应用程序时,它在URL中显示.aspx文件扩展名,但是当我在IIS服务器上浏览已发布的实例时,它会删除.aspx扩展名。

所以它在某种程度上启用了某种URL重写 - 我如何更改它,因为我需要它与开发版本保持一致。我安装了URL Rewrite扩展,以查看是否已经配置了任何规则,但没有定义规则。

谢谢!

3 个答案:

答案 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被重写。上述答案都没有帮助确定我害怕的问题。