用/articles/123文章标题替换articles.php?id=123

用/articles/123文章标题替换articles.php?id=123,php,mysql,url-rewriting,Php,Mysql,Url Rewriting,我正在建立一个php+mysql网站,它将有许多文章。我对html、php、jquery等都很在行。我现在需要知道,我需要采取哪些步骤才能做到“不拥有,但拥有”? 谢谢通常的方法是使用mod_rewrite。 您创建一个.htaccess文件,该文件在幕后将后一个请求重定向到前一个请求 您可以在这里阅读:例如,您需要存储每篇文章的令牌(以进行优化),例如您的示例“123文章的标题””。下一步是使用Apache中的.htaccess和mod_rewrite(如果是您的情况) 如果您只在本文“页面文

我正在建立一个php+mysql网站,它将有许多文章。我对html、php、jquery等都很在行。我现在需要知道,我需要采取哪些步骤才能做到“不拥有,但拥有”?
谢谢

通常的方法是使用mod_rewrite。 您创建一个.htaccess文件,该文件在幕后将后一个请求重定向到前一个请求


您可以在这里阅读:

例如,您需要存储每篇文章的令牌(以进行优化),例如您的示例“
123文章的标题”
”。下一步是使用Apache中的
.htaccess
mod_rewrite
(如果是您的情况)

如果您只在本文“页面文件夹”(
articles/
)上执行此操作,我建议您使此文件夹有效,并使其中的
.htaccess
,并重定向到
articles.php?id={POST\u id\u FOUND\u BY\u TOKEN}

再看看PHP中的
$\u服务器[“请求”]
变量


请参阅文章末尾的:,这里有一些示例。

您需要一个名为的东西,这是一个apache模块

配置如下所示(从客户端的drupal安装中窃取):


重新启动发动机
重写规则articles/(.*)$articles.php?id=$1[L,QSA]

我还没有测试过这个,但它应该可以工作。

你可能更喜欢使用mod_rewrite,而不是PHP。因为这是在Web服务器上完成的,你可能需要添加你的Web服务器软件,以防它不是apache。mod_rewrite可以将文章的
/123标题
转换为
/articles.PHP?id=123
;它不会为您生成漂亮的链接。这,你必须用PHP来做。感谢所有回复的人。有价值的建议。
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule articles/(.*)$ articles.php?id=$1 [L,QSA]
</IfModule>