PHP:在url中摆脱'?p ='?

时间:2010-07-14 02:24:58

标签: php mod-rewrite

  

可能重复:
  Passing varible types though mod-rewrite

你好, 我在当前项目中使用get方法。 我的链接指的是<a href='?p=". $path …,而我正在使用if(isset($_GET['p'])) …

获取值

每次点击链接时,地址栏中的网址都会更改为mydomain.com/?p=files/path/subpath

我想知道我是否可以某种方式使用mod_rewrite或其他任何我想要得到一个更漂亮的网址。我想摆脱我的网址中的"/?p=files/"部分。如果结果看起来像这样会很酷:

mydomain.com/path/subpath

甚至可能吗? 关于亚光

1 个答案:

答案 0 :(得分:3)

如果您使用的是此类网址,则可能是您的程序出错了。

例如,假设您使用htpasswd文件来存储您的网站用户。我传入?p=../.htpasswd。现在我可以以“请”作为密码的用户进入。或者我传入?p=/etc/passwd,并获取系统上有效用户的列表。

是的,您可以使用?p=http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html)摆脱mod_rewrite。但是你应该确保你知道自己在做什么,并且无法实现任意路径规范。