php清理URL中的GET方法

时间:2011-08-16 14:38:28

标签: php url get get-method

我已成功为我的项目创建了干净的网址..现在我需要做的是向网址添加变量..

localhost/user1/file?action=add
localhost/user2/file2?action=delete

用户和文件已经被重写了我不希望它像localhost/user/file/add一样,因为localhost/user/folder/file会被误认为是动作参数..请帮忙

3 个答案:

答案 0 :(得分:1)

尝试使用&符号代替问号:

localhost/user2/file2&action=delete

在你的htaccess中,重写规则可能如下所示:

RewriteRule ^user([0-9]+)/file([0-9]+)$ /page\.php?user=$1&file=$2

如您所见,即使在地址栏中屏蔽了问号,问号也已存在。将另一个变量附加到查询字符串将需要和号来成功连接。

答案 1 :(得分:0)

您需要获取网址并开始解析问号中的网址。我会将内容保存到数组中,这样你就有了一个键和一个值。

$uri = $_SERVER["REQUEST_URI"];

$questionMark = explode('?',$uri);

$ questionMark [1]是action = delete然后。在这里使用explode()方法可能有更好的方法,但我只想展示你是如何获得字符串的。

答案 2 :(得分:-1)

您可以通过访问全局$ _GET数组来读取PHP中的GET变量:

http://php.net/manual/en/reserved.variables.get.php

在您的示例中,用于处理文件的php文件将能够读入:

echo $_GET['action']; // 'add' or 'delete'