我正在更改我的网站以显示如下友好网址:
www.example.com/folder/topic
工作正常!
但是当我向URL添加参数时:
www.example.com/folder/topic?page=2
$_GET
停止工作。它根本不识别参数。我错过了什么吗?在使用完整的URL之前,该参数工作正常。
答案 0 :(得分:9)
如果这是一个mod_rewrite问题,听起来像是这样,你可以将[QSA]
标志添加到你的mod_rewrite规则中,将查询字符串附加到重写的URL而不是丢弃它。
您的规则最终会如下:
RewriteRule from to [QSA]
答案 1 :(得分:4)
如果您正在使用mod_rewrite,那么您的规则就会被破坏。查询字符串未被传递,或者mod_rewrite正在丢弃超过 / topic 的所有内容。
尝试添加您可以执行的规则: www.example.com/folder/topic/2
答案 2 :(得分:0)
如果你想让你的PHP URL“友好”,你需要使用类似Apache的mod_rewrite。谷歌类似“apache mod_write友好网址”,你会得到很多关于这个主题的文章。
答案 3 :(得分:0)
我正在更改我的网站以显示友好的网址
您是使用mod_rewrite还是重新组织文件结构?如果是前者,则可能需要调整您的规则。
如果是文件重组,那么print_r($_GET)
www.example.com/folder/topic?page=2
中的{{1}}会得到什么?
答案 4 :(得分:0)
MrZebra的回答是正确的。它将允许您像在URL末尾那样继续使用查询字符串,而不必以某种方式预测其存在。