Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php URL作为检索页面内容的ID_Php_Asp.net_Asp.net Mvc - Fatal编程技术网

Php URL作为检索页面内容的ID

Php URL作为检索页面内容的ID,php,asp.net,asp.net-mvc,Php,Asp.net,Asp.net Mvc,我在web开发中使用旧技术有很长的经验,比如ASP类,我很久以前开发过一个新闻网站。现在,我想用更先进的技术升级它(我有很强的背景来重新学习PHP和ASP.Net)。 我的问题是: 我曾经通过ID从数据库检索页面内容,如下所示: mywebsite.com/NewsID.asp?ID=101 但是,我看到现在大多数网站都使用不同的URL,比如今天的BBC: http://www.bbc.co.uk/news/world-latin-america-24680283 怎么做?!i、 e.不要让

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

mywebsite.com/NewsID.asp?ID=101
但是,我看到现在大多数网站都使用不同的URL,比如今天的BBC:

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

怎么做?!i、 e.不要让我的URL像BBC的这样,而不是像我的经典URL那样,你可以使用路由,这是告诉你的web服务器(或其他等效组件)解释的方法

http://www.bbc.co.uk/news/world-latin-america-24680283
通过正则表达式或类似工具,表示

Function name: news
Slug: world-latin-america-
Id: 24680283
然后调用,例如

news.php?id=24680283

在LAMP系统中,可以使用
mod_rewrite
设置路线,如中所述

在ASP.Net MVC上下文中,在
Global.asax.cs
中调用
Application\u Start()
中的
RegisterRoutes

在最新版本的MVC中,您还可以使用简化一切的:

[Route("news/{slug}-{id:int}")]
public ActionResult News(int id) { ... }

我不确定,但如果您使用的是Apache,您可以遵循。您已经标记了php和asp.net mvc。您的问题与如何在php或asp.net mvc中使用有关吗?您标记的3种技术(php、asp.net和asp.net mvc)的答案各不相同。你应该选择一个与你想做的事情最相关的。如果您查看任何基本MVC教程,则此URL行为是ASP.NET MVC内置的。
[Route("news/{slug}-{id:int}")]
public ActionResult News(int id) { ... }