.htaccess重写但不捕获

时间:2016-02-05 19:55:14

标签: php apache .htaccess mod-rewrite

我的.htaccess文件很简单:

session

第一条规则完美无缺。当我转到https://laravel.com/docs/5.2/helpers#method-session时,请求会发送到view.php,我可以使用RewriteEngine On RewriteRule ^([0-9]+)/?.*$ view.php?id=$1 [L] RewriteRule ^delete/([0-9]+)/?$ delete.php?id=$1 [L] 访问该ID。第二条规则重写也很好,它会将http://userless.net/123发送到delete.php,但不会捕获id! $_GET['id']甚至没有设定。他们怎么会这么相似而又一件事而另一件却失败了?我错过了什么?

1 个答案:

答案 0 :(得分:1)

这最常见的原因是默认情况下启用了MUltiViews选项。您可以使用以下命令将其关闭:

Options -MultiViews
RewriteEngine On

RewriteRule ^([0-9]+) view.php?id=$1 [L,QSA]

RewriteRule ^delete/([0-9]+)/?$ delete.php?id=$1 [L,QSA,NC]