我想使用$_GET
传递参数,但不想使用查询形式:
showevent.php?event=usa
应显示在网址中,而不是
site.com/events/usa
对于个人资料:
site.com/username
答案 0 :(得分:1)
浏览器不知道如何格式化这样的网址。通过GET提交表单的标准是查询字符串,这是浏览器唯一能做的事情。两个选项:
通过普通查询字符串提交,然后在服务器上重写URL并重定向客户端。 E.g:
header('Location: /events/' . $_GET['event']);
exit;
这样做的缺点是每次都需要两次往返服务器,并且未经重写的URL可能会在用户的浏览器中短暂闪烁,但它最终会为您提供最好的URL。
您可能需要两者的组合,其中2.是非Javascript客户端的后备。