1

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

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

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

4

3 回答 3

1

尝试使用 & 号而不是问号:

localhost/user2/file2&action=delete

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

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

如您所见,问号已经存在,即使它在地址栏中被屏蔽。将另一个变量附加到查询字符串将需要 & 符号才能成功连接。

于 2011-08-16T14:45:36.977 回答
0

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

$uri = $_SERVER["REQUEST_URI"];

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

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

于 2011-08-16T14:43:58.850 回答
-1

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

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

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

echo $_GET['action']; // 'add' or 'delete'
于 2011-08-16T14:43:38.750 回答