2010-09-27 68 views
1

我有一个新闻栏目,其中的网页解析到URL像动态SEO标题的新闻报道

newsArticle.php?ID = 210

我想什么做的是使用标题从数据库创建搜索引擎友好的游戏,比如

newsArticle /乔去到镇

任何想法我怎么能做到这一点?

感谢,

R.

+1

你使用什么样的网络服务器?你使用一些CMS系统还是服务器脚本? – Guffa 2010-09-27 06:24:46

+0

该网站是用HTML/PHP建立的还是使用Joomla/Wordpress?你能用PHP编码还是你在寻找插件解决方案? – 2014-03-12 10:06:04

回答

6

我建议你实际上在URL中包含的ID,标题部分之前,和布线时忽略标题本身。所以你的网址可能会变成

/news/210/joe-goes-to-town 

这正是Stack Overflow所做的,它运行良好。这意味着标题可以更改而不会破坏链接。

显然,具体细节将取决于你所使用的平台 - 你没有指定 - 但基本的步骤将是:

  • 当生成一个链接,把文章的标题,并把它转换成一些网址友好的东西;您可能想要删除所有标点符号,并且应该考虑重音字符等。请记住,标题不需要是唯一的,因为您也有该标识
  • 当处理请求时, /新闻,采取路径的下一部分,将其解析为一个整数并加载适当的文章。
+1

另外一个好处是它使得检索更容易,更快速 - 只需使用数字ID而不是可能的长字符串。 – Archimedix 2010-09-27 06:28:25

+0

这都是很好的信息。在linux平台上运行php。从哪里开始的任何链接都是非常有帮助的。 – Roscoeh 2010-09-27 06:40:25

+0

@Roscoeh:恐怕我对PHP没有足够的了解,在这方面给出详细的建议。生成URL应该相当简单,但我不知道如何在PHP中进行路由。 – 2010-09-27 06:57:04

0

假设你正在使用PHP和可以改变你的源代码(这是很必须得到文章的标题),我会做到以下几点:

首先,你需要有一个功能(或者可能是面向对象体系结构中的方法)在您的代码中为您生成URL。您将为该函数提供文章对象或文章ID,并返回包含ID和友好标题的友好URL。
基本上function url(Article $article) => URL。

您还需要一些URL重写规则来从URL中删除PHP脚本。对于Apache,请参阅the mod_rewrite documentation了解详情(RewriteEngine,RewriteRule,RewriteCond)。