删除影响php $ _GET的查询字符串

时间:2013-08-23 14:22:53

标签: php mod-rewrite url-rewriting query-string

我一直在寻找一种完全删除查询字符串的方法,以确保尽可能保持网址的整洁,但我找到了this forum post并且说它没有用处

  

然后无法访问那些查询字符串页面

  • 所以我的一般问题是,这会以某种方式影响PHP的$_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太丑了:)

1 个答案:

答案 0 :(得分:1)

  
      
  • 所以我的一般问题是,这会以某种方式影响PHP的$ _GET变量吗?

  •   
  • 删除查询字符串时,上述结构是否有问题?

  •   

论坛海报想要删除查询字符串以及传递到页面的所有数据痕迹。这是一个坏主意,因为他们的网站将不再有效。

您提出的建议采用查询字符串中通常的内容并将其放入路径信息中。这是可以接受的,前提是1)使用URL重写器将路径信息更改回服务器端的查询字符串,或者2)修改代码以改为使用路径信息。