php - 如何在mysql中存储漂亮的url并在php中调用它们

标签 php mysql

我正在尝试弄清楚如何做到这一点。目前我的网址如下所示:

mysite/1/page-title

1 是页面 id,我想删除它,这样完整的 url 将如下所示:

mysite/page-title

我找不到一个好的教程来解释如何在 mysql 中存储“页面标题”,最重要的是如何在 php 中调用它......有人可以解释一下吗?

最佳答案

它通常的工作方式是使用重写规则(基于您使用的服务器,但通常是 Apache 和 nginx 实现了类似的东西)。

基本上,如果有人请求/some-page,Apache 会在内部将其重写为/your_script.php?some_field_in_db=some-page

我提到这一点的原因是我确认您在进行进一步解释之前使用的是相同的东西:)

好的,现在来说另一点 - 您想要隐藏页面 URL 中的 ID。这意味着您依赖“页面标题”作为数据库中的键(假设您的重写规则在您从 URL 中删除“1”时起作用)。

您需要做的是在数据库表中的 page_title 列上添加唯一索引(或者如果有的话,该列被称为任何列),并且您必须根据该键查找页面的内容而不是身份证号。

现在,如果您需要从 URL 获取“页面标题”的方法 - 这本身就是另一个问题,需要您进行更多解释。

关于php - 如何在mysql中存储漂亮的url并在php中调用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258976/

相关文章:

php - PHP套接字服务器内存泄漏

php - 在 Laravel-Doctrine 中使用工厂时调用未定义的方法 newCollection

php - MySQL数据建模

mysql - 从 3 个表中选择所有信息

mysql - 有没有办法将 mysql 数据库从 Windows(Wamp) 移动到 Ubuntu(Xampp)?

php - 如何使用骨架项目 'Application' 模块中的错误处理程序来捕获事件回调中的错误?

php - 您将如何添加文件上传到 Symfony2 DataFixture?

mysql - 触发mysql上超过3个表

用于准备语句的 MySQL 存储过程游标

大表不使用mysql索引