我一直在寻找一种完全删除查询字符串的方法,以确保尽可能保持网址的整洁,但我找到了this forum post并且说它没有用处
然后无法访问那些查询字符串页面
$_GET
变量吗?在我的应用程序中,我正在形成这样的URL:
example.com/module/controller/action/arg1/value1 /../..
其中arg1和value1不是屏蔽的查询字符串表示形式,它们是请求的其他特定键。
修改
我正在重新路由所有发送到应用程序的请求,这些请求不存在作为文件和/或文件夹(想不出更好的说法)到我的index.php,这是我的入口点应用。从那里,应用程序解析目录部分并在内部进行路由(使用$_SERVER['REQUEST_URI']
,而不是我不是在寻找替代方法,我知道我可以使用parse_url();
函数。
当我有这样的网址时:
example.com/module/controller/action/arg1/value1?get_arg1=value1&get_arg2=value2
在我的标准中,value1变得错误并且URL太丑了:)
答案 0 :(得分:1)
所以我的一般问题是,这会以某种方式影响PHP的$ _GET变量吗?
删除查询字符串时,上述结构是否有问题?
论坛海报想要删除查询字符串以及传递到页面的所有数据痕迹。这是一个坏主意,因为他们的网站将不再有效。
您提出的建议采用查询字符串中通常的内容并将其放入路径信息中。这是可以接受的,前提是1)使用URL重写器将路径信息更改回服务器端的查询字符串,或者2)修改代码以改为使用路径信息。