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

http://stackoverflow.com/questions/ask

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

不像代码技术那样代码问题。我知道这对搜索引擎优化非常有用,但是如何创建一个网站以便每个“页面”都可以。是自己的目录?动态。

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

如何? :)

有帮助吗?

解决方案

它被称为URL重写:

使用ASP.NET重写URL

MSDN:ASP.NET中的URL重写

编辑:正如@Justice指出的那样,StackOverflow使用路由

其他提示

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

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

堆栈溢出是由什么构建的?

路由

Stack Overflow使用 ASP.net MVC

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

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

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

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top