PHP / MySQL完整文件名,而不是从ID中获取

时间:2015-10-11 19:53:29

标签: php mysql seo

我一直想知道你是如何设置php的,这样你就可以得到像www.mysite.com/index.php?id=1那样得到它们而不是从表中获取内容www.mysite.com/pages/news-1.php

我不知道如何解决这个问题;但我是否必须手动创建新页面并将它们放在目录中,然后通过db链接页面/ ID,或者只有mysql的另一种方式。

2 个答案:

答案 0 :(得分:1)

在您的网络根目录中创建名为 .htaccess 的文件。并将这些行粘贴到其中(经过测试):

RewriteEngine On    # Turn on the rewriting engine    
RewriteRule    ^pages/news-([0-9]+)/?$     index.php?id=$1    [NC,L]
  

网址重写可以是改善最佳和最快捷方式之一   您网站的可用性和搜索友好性。它也可以是   几乎无休止的苦难和痛苦的根源。绝对值得一玩   仔细考虑 - 建议进行大量测试。力量很大   责任重大,所有这一切。 2008年8月4日 - addedbytes.com

答案 1 :(得分:0)

通过URL重写,您需要将所有页面请求路由到前端控制器" / index.php。然后使用路由器将该请求发送到特定的控制器方法。在该方法中,您将获取请求的路径(例如/ postname)。你的帖子数据库表会有一个" slug"领域。然后,您在数据库中查询"帖子"包含slug" postname"。

的结果

请查看本教程以了解如何制作自定义框架,它将为您提供大量背景信息,这些信息可能会说明这一切是如何运作的:http://symfony.com/doc/master/create_framework/index.html