asp.net - 将所有以 .aspx 结尾的旧 URL 重定向到某个 URL

标签 asp.net redirect

我已将网站升级到较新的 mvc 版本的 asp.net。它已经完成了,但是我不确定如何将以 aspx 结尾的旧页面请求重定向到新 URL。

如何将所有以 .aspx 结尾的页面请求重定向到主页 URL,例如 www.somedomain.com/

我想使用重写模块。

最佳答案

要使用重写模块将所有以 aspx 结尾的内容重定向到无扩展名的 URL,您必须首先安装 URL 重写模块。最好是安装 URL 重写模块 Web Platform Installer

安装后,将以下部分添加到 web.config 中的 部分:

<rewrite>
    <rules>
        <rule name="Redirect to extensionless URL" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*.aspx" />
            <action type="Redirect" url="{R:1}" redirectType="Found" />
        </rule>
    </rules>
</rewrite>

此部分定义任何与模式 *.aspx 匹配的 URL 将被重定向 (302) 到等效的无扩展名的 URL。例如,对 /Users.aspx 的请求将被重定向到 /Users

如果您希望将所有 .aspx URL 重定向到某个域,您可以将操作更改为:

<action type="Redirect" url="http://www.somedomain.com" redirectType="Found" />

从 SEO 角度来看,302 重定向并不理想,因此我建议使用 302 重定向进行测试,如果一切正常,请使用以下操作切换到永久重定向:

<action type="Redirect" url="{R:1}" redirectType="Permanent" />

关于asp.net - 将所有以 .aspx 结尾的旧 URL 重定向到某个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22779152/

相关文章:

c# - 从 session 到成员文件夹的身份验证

asp.net - Jquery ajax 回发未命中服务器方法?

asp.net - 如何使用asp.net mvc实现 session 超时页面显示

java - log4j 将标准输出重定向到 DailyRollingFileAppender

.htaccess - htaccess 将一个文件重定向到另一个

c# - 忽略 .asp 页面的路由 Asp.Net 4.0 路由

asp.net - 如何使用vb.net从目录中删除文件?

.htaccess - htaccess 从请求路径中删除文件夹

java - sendRedirect VS requestDispatcher.forward 错误页面?

asp.net - 如何编写移动/删除 mvc 路由 "forever"的代码