【发布时间】:2013-12-23 19:31:54
【问题描述】:
我已经阅读了几乎所有关于这个问题的帖子,但似乎没有任何效果。
我已经成功地重写了下面的代码,它工作得很好。 .htaccess 文件位于 /~user/business/ 文件夹中。我在访问http://localhost/~user/business/index/155/ 时使用RewriteRule ^index/([0-9]+)/?$ /index.php?id=$1 [QSA,PT]。但是,当我尝试在 php 中获取变量时,它什么也不返回。重写就像加载 index.php 一样工作,但根本没有获取变量。
我的主要目标是,我想从上面的代码中访问id,但没有任何显示。 <?php echo $_GET['id']; ?> 即使我尝试这个 print_r($_GET); 所有 get 变量的数组,它也会返回一个空数组。我也不想将查询附加到 url 的末尾。
很多帖子都有根据回复起作用的答案,即使我逐字逐字复制它们,更改目录和地址,似乎也没有任何效果。
我使用的是 Apache 2,在 MAC 上设置为 localhost。是不是有什么问题,可能是在 php.ini 文件中?
【问题讨论】:
-
这是你唯一的规则吗?您使用
PT标志是否有原因? -
这只是我看到的。我尝试了
NC,L和L,QSA以及许多其他组合。我不在乎那部分,只要我可以访问 url 的那部分,而不必在有或没有 QSA 的情况下附加查询 -
这些标志都不需要。
-
那么我如何通过 Rewrite 访问我的 url 中的 id var
-
我把它们都删除了,但它仍然不允许我通过
$_GET访问
标签: php .htaccess variables mod-rewrite get