2

I'm changing my site to show friendly URLs like this:

www.example.com/folder/topic

Works fine!

But when I add a parameter to the URL:

www.example.com/folder/topic?page=2

$_GET stops working. It doesn't recognise the parameter at all. Am I missing something? The parameter worked fine before using full URLs.

4

5 回答 5

9

如果这是一个 mod_rewrite 问题,听起来像是,您可以将[QSA]标志添加到您的 mod_rewrite 规则中,以将查询字符串附加到重写的 URL 而不是将其丢弃。

您的规则最终将如下所示:

RewriteRule from to [QSA]

于 2008-10-04T17:33:09.543 回答
4

If you are using mod_rewrite then it is your rules that are broken. Either the query string is not being passed, or the mod_rewrite is discarding everything past /topic.

Try adding a rule that you can do: www.example.com/folder/topic/2

于 2008-10-04T17:29:43.263 回答
0

如果你想让你的 PHP URL “友好”,你需要使用 Apache 的 mod_rewrite 之类的东西。谷歌诸如“apache mod_write 友好的 url”之类的东西,你会得到很多关于这个主题的文章。

于 2008-10-04T17:32:46.830 回答
0

我正在更改我的网站以显示友好的 URL

您是使用mod_rewrite还是通过重新组织文件结构来执行此操作?如果是前者,您的规则可能需要调整。

如果是文件重组,当你进入时你会得到print_r($_GET)什么www.example.com/folder/topic?page=2

于 2008-10-04T17:34:40.057 回答
0

MrZebra 的答案是正确的。它将允许您像在 URL 末尾那样继续使用查询字符串,并且您不必以一种或另一种方式预期它的存在。

于 2008-10-04T17:49:45.907 回答