$ _GET什么都不返回

时间:2018-03-29 10:09:58

标签: php .htaccess url-routing

我第一次尝试使用php构建路由。

我想要这样的链接:

http://localhost/controller/action

这是我的.htaccess文件:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controller=$1&action=$2&id=$3 [NC,L]

我想访问$_GET['controller']$_GET['action'],但它提供了 - 未定义的索引错误。

var_dump($_GET)返回

  

数组(大小= 0)       空

1 个答案:

答案 0 :(得分:0)

问题是,你的正则表达式不那么严格,并且斜杠(但不是最后一个)不能是正确运行的可选项。你也应该逃避斜线。

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([a-zA-Z]+)\/([a-zA-Z]+)\/([a-zA-Z0-9]+)\/?$ index.php?controller=$1&action=$2&id=$3 [NC,L]