php - 创建数据库驱动的永久链接(干净的网址)

标签 php mysql database .htaccess

我正在与 Cities & States 合作开发一个目录 - 该网站已经运行了好几年 - 但我一直想让网址变得干净。

我已经看到这件事完成了(特别是通过 wordpress)

这是当前网址的样子:

website.com/directory/index.php?state=5
加州目录

website.com/directory/index.php?state=5&city=2292
加州长滩目录

这是我希望的网址:
website.com/directory/california/
website.com/directory/california/long-beach

我的主数据库包含 51 个州的 ID 号,包括哥伦比亚特区(带有州缩写和完整的州名)和 1,847 个不同的县,其中有 29,640 个不同的城市 ID 号和 41,580 个邮政编码,它还有每个县的纬度和经度,为了生成 map 。

还有另一个数据库,其中为每个城市 ID 列出了多个类别/服务。 (例如:清洁、园艺/景观、害虫防治、房地产等) 然后每个类别下列出了各种业务。

当前显示这些:
website.com/directory/index.php?state=5&city=2292&svc=1
website.com/business/index.php?bid=10

以下是我希望网址显示的方式:
website.com/directory/california/long-beach/gardening/
website.com/directory/california/long-beach/gardening/joes-lawn-service/


website.com/business/joes-lawn-service/

我非常感谢任何帮助解决这个问题的人。我查看了很多选项,但没有找到任何讨论和演示使用数据库收集信息的选项。

最佳答案

我认为这就是您正在寻找的: .htaccess routing php (similar question)

它基本上捕获使用该路径的所有请求,并让配置的 php 文件负责处理(您必须实现)。

问题所要求的模式通常用于实现 Web API,这就是为什么我也很好奇实际的解决方案是什么。与解决方案中关于 QSA 标志的建议相反,我会保留它。

另一个链接:What does $1 [QSA,L] mean in my .htaccess file?应该为您指明理解 .htaccess 文件中的指令的正确方向。

注意:我想说的是,我不认为所有提出的问题都需要像某些问题的评论中所述的代码,只要它们的表述正确即可。有时我们知道一个概念,但不知道如何在我们不熟悉的开发环境中实现它。

关于php - 创建数据库驱动的永久链接(干净的网址),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606583/

相关文章:

mysql - 一个项目总是放在最后的 SQL 查询

php - 按表名 desc 分组不起作用

MYSQL存储过程select语句select不正确的ID

sql - SQL中是否有类似mysql_num_row的计数方法

php - 如果密码输入是 Laravel 5.2 中的当前密码,则表单发布

php - Magento RESTful API 用于将产品添加到购物车

mysql - 如何为每个 MySQL 记录添加额外的单词

python - 带有 to_field 属性的 Django 外键字段的问题

php可读性找不到内容返回错误

php - 如何知道文件名在当前平台上是否有效?