Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从ID创建干净的url,但显示名称而不是ID_Php_Apache_.htaccess - Fatal编程技术网

Php 从ID创建干净的url,但显示名称而不是ID

Php 从ID创建干净的url,但显示名称而不是ID,php,apache,.htaccess,Php,Apache,.htaccess,我正在尝试为干净的URL创建htaccess文件 我的数据库中有ID和articlename列 我正在尝试从创建干净的URL 这个:localhost/article.php?ID=50 指向此localhost/article/articlename/ 使用htaccess文件可以这样做吗 我的article.php文件中有这段代码 $article=$_REQUEST['article']; $getArticle = $db->get_rows("SELECT * FROM arti

我正在尝试为干净的URL创建htaccess文件

我的数据库中有ID和articlename列

我正在尝试从创建干净的URL 这个:localhost/article.php?ID=50 指向此localhost/article/articlename/

使用htaccess文件可以这样做吗

我的article.php文件中有这段代码

$article=$_REQUEST['article'];
$getArticle = $db->get_rows("SELECT * FROM articles WHERE ID=$article");
我的htaccess文件中有:

RewriteRule ^article/([^/]*)$ /article.php?ID=$1 [L]

无法使用Apache重写将干净的URL转换为数字数据库ID,因此实现这一点的最佳方法是在数据库中添加一个新列作为干净URL值,并将其用作查询字符串值


那么,您只需要在代码中更改SQL查询where子句中的新列,而不是ID。

无处不在-您尝试了什么?好的,我知道了。所以,如果我有另一个专栏,比如“文章所有者”,我该怎么办呢。我的意思是如何为它编写查询?ID是唯一的,但物品所有者不是。对不起,我弄糊涂了。例如:localhost/articleID/article_owner您有文章标题栏吗?如果是这样,您可以基于此生成干净的URL。因此,如果标题是“我的有趣故事”,URL将是localhost/My interest story。然后,当您输入文章时,您应该将其生成并存储为一个单独的列,以防出现重复的标题,您可以在末尾添加一个数字,如localhost/my-interest-story1