Php htaccess mod_重写-初学者问题

Php htaccess mod_重写-初学者问题,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,假设我有一个像index.php这样的文件,需要处理如下url: index.php?cat=1&sub=2&id=3 现在,我希望有一个很好的URL,如下所示: index.php/cars/bmw/x3 我的问题是,如果单词“cars”是数据库中与'cat/category'id为1关联的名称,那么当我转到index.php/cars时,url如何访问数据库、查找'cars',获取其对应的id为'1',并将其映射到url 此站点位于Php/MySQL中您需要使用指令 有一

假设我有一个像index.php这样的文件,需要处理如下url:

index.php?cat=1&sub=2&id=3
现在,我希望有一个很好的URL,如下所示:

index.php/cars/bmw/x3
我的问题是,如果单词“cars”是数据库中与'cat/category'id为1关联的名称,那么当我转到index.php/cars时,url如何访问数据库、查找'cars',获取其对应的id为'1',并将其映射到url

此站点位于Php/MySQL中

您需要使用指令


有一个与您的需要类似的示例。

在Web服务器的DocumentRoot内的.htaccess文件中放置以下代码:

RewriteEngine On
RewriteRule ^index.php/cars/(.+)$ /index.php?carName=$1 [QSA,L,NC]
这将使用URL中/cars/之后的任何内容以及查询参数carName调用index.php

然后在index.php中编写一个MySQL查询来查询数据库,类似于:select*from cars\u table where name=$\u REQUEST[“carName”];您将能够检索匹配的汽车记录

然而,正如上面提到的警告一样,SQL会受到SQL注入攻击,因此最好使用准备好的SQL语句或用于查询数据库,而不是直接输入http请求值