具有不带 .aspx 扩展名的 URL

Posted

技术标签:

【中文标题】具有不带 .aspx 扩展名的 URL【英文标题】:Having URL without .aspx extension 【发布时间】:2011-05-06 05:54:46 【问题描述】:

我注意到很多 ASP .Net 网站没有以“.aspx”结尾的 URL。

一个例子是: - https://***.com/questions

他们是否创建了一个 Questions 文件夹并将 Default.aspx 放入其中?

在那种情况下,很多文件夹中不会有很多 default.aspx 很难维护(即使它是用户友好的)?

谢谢大家。

【问题讨论】:

谢谢大家。自从我使用 *** 后,我的编码有了很大的改进。 【参考方案1】:

使用 ASP.NET 4.0,您还可以通过 ASP.NET 网络表单获得 URL 路由(漂亮、干净的 URL)的好处 — 请参阅:

Routing for Web Forms in ASP.NET 4.0 URL Routing with ASP.NET 4 Web Forms (VS 2010 and .NET 4.0 Series)

基本上,你所做的就是定义一个类似的路线

/question/id  or  /question/title

然后您定义要路由到哪个 ASPX 页面。相当漂亮!

【讨论】:

【参考方案2】:

ASP.net 有一个路由框架,即使你不使用 ASP.net MVC 也可以使用

官方文档:http://msdn.microsoft.com/en-us/library/cc668201.aspx

同样如前所述,ASP.net MVC 开箱即用,您也可以使用 URL Rewriting

【讨论】:

【参考方案3】:

*** 是使用 ASP.NET MVC 编写的。 MVC 框架不使用.aspx 文件。

它在内部工作的方式是使用路由表 - 请参阅概述 here。

您也可以使用ASP.NET 和.aspx 文件执行此操作,也可以使用URL rewriting。您可以阅读 here 的差异。

【讨论】:

【参考方案4】:

您可以使用Url Rewriter 从您网站的网址中删除扩展名。

【讨论】:

【参考方案5】:

您可以为此参考任何 URL 重写器或路由技术。如果您查看新的 AS.NET MVC,它仅适用于该模型。

【讨论】:

以上是关于具有不带 .aspx 扩展名的 URL的主要内容,如果未能解决你的问题,请参考以下文章

将具有单个非数字参数的动态 url 重定向到名称由参数值文本组成的静态无扩展根级 url

如何使我的命令行在具有扩展名(.sh)和名称如“weird.sh.sh.sh”的文件上工作

如果文件 url 具有特定的扩展名,正则表达式会发现啥

正则表达式仅排除具有 .css 或 .png 文件扩展名的 url,但允许所有其他 url

列出具有特定扩展名的目录和文件数量,构建特定菜单

httpModules 不适用于 iis 7.5 的 url 重写/扩展少 url(给出错误 500.0)