用articles / 123-title-of-article替换articles.php?id = 123

时间:2011-05-19 16:56:09

标签: php mysql url-rewriting

我正在构建一个php + mysql网站,其中包含大量文章。我很喜欢使用html php jquery等。我现在需要采取哪些步骤才能获得http://www.mysite.com/articles.php?id=123而不是http://www.mysite.com/articles/123-title-of-article? 感谢

3 个答案:

答案 0 :(得分:0)

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

您可以在此处阅读:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

答案 1 :(得分:0)

嗯,例如,您需要为每篇文章存储令牌(进行优化),例如您的示例“123-title-of-article”。下一步是使用Apache的.htaccessmod_rewrite(如果是你的话)。

如果你只在这篇文章“页面文件夹”(articles/)上 ,我建议你使这个文件夹有效并在其中设置.htaccess重定向到articles.php?id={POST_ID_FOUND_BY_TOKEN}

查看来自PHP的$_SERVER["REQUEST_*"]变量。

参见this page,文章末尾有一些例子。

答案 2 :(得分:0)

你需要一个名为mod_rewrite的东西,它是一个apache模块。

配置看起来像这样(从客户端的drupal安装中窃取):

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteRule articles/(.*)$ articles.php?id=$1 [L,QSA]
</IfModule>

我没有对此进行过测试,但它应该有效。