不要使用.htaccess在URL中显示$ _GET变量

时间:2016-02-02 15:40:33

标签: .htaccess mod-rewrite

 forum_id forum_name
    1        stuff
    2        stuff
    3        stuff

我有上表forumforum.php将其称为forum.php?forum_id=?现在我为forum.php编写了一个mod_rewrite

 RewriteRule ^forum/([0-9]+)$ forum.php?forum_id=$1 [L]

之后我的网址看起来像example.com/forum/4。但是,我希望我的网址显示forum_name而不是forum_id example.com/forum/stuff。我能为这件事做些什么。我会forum tableforum_id获得,因为它是正确的方法。但是这一次我怎么会知道什么是写内容,并向用户展示?我不知道我能否正确解释。谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

首先,您需要更改匹配模式:

# Match anything after "forum/" that's not a slash
RewriteRule ^forum/([^/]+) forum.php?forum_name=$1 [L]

在此之后,您需要更改PHP中的数据库查询,以便forum_name而不是forum_id选择论坛。