没有名称的ASP.NET网页,比如stackoverflow?

时间:2009-03-03 01:28:08

标签: asp.net seo url-rewriting url-routing

仅提及stackoverflow作为示例,但如果您在上面查看ask的URL是

http://stackoverflow.com/questions/ask

表示/ ask是一个子目录,但它们也针对特定问题页面执行此操作。你如何在.NET中编写代码?

不像代码技术那样代码问题。我知道这对SEO很有用,但是你如何创建一个网站,以便每个“页面”都是自己的目录?动态。

你有模板还是隐藏的重定向???

如何? :)

5 个答案:

答案 0 :(得分:10)

它被称为URL重写:

Url Rewriting with ASP.NET

MSDN: URL Rewriting in ASP.NET

编辑:正如@Justice所指出的,StackOverflow使用Routing

答案 1 :(得分:6)

StackOverflow使用了一个名为Routing的东西,它随.NET 3.5 SP1一起提供。路由是许多MVC框架的流行特性,例如ASP.NET MVC,Ruby on Rails以及许多Python和PHP框架。

答案 2 :(得分:5)

Stack Overflow是使用ASP.NET MVC构建的,它使用一种名为Routing的技术,参见:

What Was Stack Overflow Built With?

Routing

答案 3 :(得分:1)

Stack Overflow使用ASP.net MVC

MVC使用URL +查询字符串来确定内容,因此它不像指向特定页面的URL,而更像是要显示的某些数据属性的分层路径

E.G。 https://stackoverflow.com/users/[Put此处的用户ID] / [将用户名放在此处]

提示网站显示一个带有路径中指定ID的用户(在这种情况下,用户名可能仅用于踢球),而不是仅为该用户创建的特定页面。

答案 4 :(得分:1)

我已经看到了这一点,只需为每个网页创建一个文件夹,然后让每个文件夹包含一个Default.aspx文档(假设Default.aspx设置为IIS中的默认文档,默认情况下是这样)。然后,您可以导航到网站上的任何文件夹,而无需指定页面(Default.aspx)。

对于动态部分,我使用CMS系统,这样做,而Default.aspx页面只是从一些主模板继承而CMS系统利用ASP.NET渲染来动态完成网页。< / p>

使用文件夹可能对网站结构有点沉重,但这是从浏览器中删除页面名称的简单方法。

这就是我构建网站的方式,避免使用页面名称...例如http://www.innovaapps.net/Blog只需调出default.aspx页面而不必指定页面名称。