我一直在寻找一种方法来完全删除查询字符串,以确保URL尽可能整洁,但我发现了这个论坛帖子,它说它对没有用处
则这些查询字符串页面将无法访问
- 所以我的一般问题是,这会以某种方式影响PHP的
$_GET
变量吗
在我的应用程序中,我正在形成这样的URL:
示例.com/module/controller/action/arg1/value1/../。。
其中arg1和value1不是掩码查询字符串表示形式,它们是请求的其他特定键。
- 当我删除查询字符串时,上面提到的结构可能有任何问题吗
编辑:
我正在将所有发送到应用程序的请求重新路由到我的index.php,这是我的应用程序的入口点,这些请求不以文件和/或文件夹的形式存在(想不出更好的说法)。从那里,应用程序解析目录部分并在内部进行路由(使用$_SERVER['REQUEST_URI']
,这并不是说我不想寻找其他方法——我知道我可以使用parse_url();
函数)。
当我有这样的URL时:
example.com/module/controller/action/arg1/value1?get_arg1=值1&get_arg2=value2
value1有问题,URL在我看来太难看了:)
所以我的一般问题是,这会以某种方式影响PHP的$_GET变量吗?
当我删除查询字符串时,上面提到的结构可能有任何问题吗?
论坛发帖者希望完全删除查询字符串和传递到页面的所有数据痕迹。这是一个坏主意,因为他们的网站将不再工作。
您所建议的内容采用查询字符串中的正常内容,并将其放入路径信息中。这是可以接受的,前提是您1)使用URL重写器将路径信息更改回服务器端的查询字符串,或者2)修改代码以使用路径信息。