PHP/MySQL的完整文件名,而不是从ID抓取


PHP/MySQL full file name instead of grabbing from ID

我一直想知道很长一段时间你如何设置php,这样你就可以从表w/get获取内容像www.mysite.com/index.php?id=1你得到他们通过www.mysite.com/pages/news-1.php

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

创建名称为的文件。htaccess在你的web根目录。然后粘贴这些行(Tested):

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

URL重写可以是最好和最快的方法之一网站的可用性和搜索友好性。它也可以是近乎无尽的痛苦和痛苦的来源。绝对值得一玩小心使用它-建议进行大量测试。拥有强大的力量随之而来的是巨大的责任等等。 2008.8.04 - addedbytes.com

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

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