Php $\你什么也得不到

Php $\你什么也得不到,php,.htaccess,url-routing,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] 我想访问$\u GET['

我第一次尝试使用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]
我想访问
$\u GET['controller']
$\u GET['action']
,但它给出了-未定义的索引错误

var\u dump($\u GET)
返回

数组(大小=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]

您是否尝试过禁止空组?例如,
([a-zA-Z]+)
而不是
([a-zA-Z]*)
?我刚才试过了。还是有同样的问题。也许你应该关闭“多视图”选项看看这个,我把它关掉了。仍然有同样的问题@lvaroGonzález粘贴如何添加它try youurl.com/aaa/bbb/ccc并告诉我你用print_r()得到了什么结果我得到了这个错误:404找不到请求的URL/aaa/bbb/ccc在这个服务器上找不到。try^(.*)$index.php?var=$1并告诉我结果返回:404找不到localhost/aaais mod rewrite安装?