我已成功为我的项目创建了干净的网址..现在我需要做的是向网址添加变量..
localhost/user1/file?action=add
localhost/user2/file2?action=delete
用户和文件已经被重写了我不希望它像localhost/user/file/add
一样,因为localhost/user/folder/file
会被误认为是动作参数..请帮忙
答案 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'