我已经成功地为我的项目创建了干净的 url.. 现在我需要做的是向 URL 添加变量..
localhost/user1/file?action=add
localhost/user2/file2?action=delete
用户和文件已经被重写的地方我不希望它像这样localhost/user/file/add
,因为localhost/user/folder/file
会被误认为动作参数..请帮助
我已经成功地为我的项目创建了干净的 url.. 现在我需要做的是向 URL 添加变量..
localhost/user1/file?action=add
localhost/user2/file2?action=delete
用户和文件已经被重写的地方我不希望它像这样localhost/user/file/add
,因为localhost/user/folder/file
会被误认为动作参数..请帮助
尝试使用 & 号而不是问号:
localhost/user2/file2&action=delete
在您的 htaccess 中,重写规则可能如下所示:
RewriteRule ^user([0-9]+)/file([0-9]+)$ /page\.php?user=$1&file=$2
如您所见,问号已经存在,即使它在地址栏中被屏蔽。将另一个变量附加到查询字符串将需要 & 符号才能成功连接。
您需要获取 url 并从问号开始解析 url。我会将内容保存到一个数组中,这样你就有了一个键和一个值。
$uri = $_SERVER["REQUEST_URI"];
$questionMark = explode('?',$uri);
$questionMark[1] 是 action=delete 然后。这里可能有比使用 explode() 方法更好的方法,但我只是想展示如何获取字符串。
您可以通过访问全局 $_GET 数组来读取 PHP 中的 GET 变量:
http://php.net/manual/en/reserved.variables.get.php
在您的示例中,用于处理文件的 php 文件将能够读取:
echo $_GET['action']; // 'add' or 'delete'