0

我在 Web 开发中使用旧技术(如 ASP 类)有很长的经验,多年前我曾开发过一个新闻网站。现在,我想使用更先进的技术来升级它(我有强大的背景来重新学习 PHP 和 ASP.Net)。我的问题是:我曾经通过 ID 从数据库中检索页面内容,如下所示:

mywebsite.com/NewsID.asp?ID=101

但是,我看到现在大多数网站都使用不同的 URL,比如今天的 BBC,例如:

http://www.bbc.co.uk/news/world-latin-america-24680283

这该怎么做?!即不要让我的网址像 BBC 这样的网址,而不是我的经典网址

4

1 回答 1

2

您可以通过使用路由来做到这一点,这是告诉您的 Web 服务器(或其他等效组件)进行解释的方法

http://www.bbc.co.uk/news/world-latin-america-24680283

通过正则表达式或类似工具,表示

Function name: news
Slug: world-latin-america-
Id: 24680283

然后调用,例如

news.php?id=24680283

或者

public ActionResult News(long id, string slug)
{
   //
}

在 LAMP 系统中,可以使用PHP 中的路由 URL 中mod_rewrite记录的方法设置路由。

在 ASP.Net MVC 上下文中,路由是通过RegisterRoutesApplication_Start()您的Global.asax.cs.

在最新版本的 MVC 中,您还可以使用RouteAttribute使一切变得更简单的 a:

[Route("news/{slug}-{id:int}")]
public ActionResult News(int id) { ... }
于 2013-10-26T10:11:02.480 回答