URL重写 - $ _GET变量不通过

Oli*_*ans 4 php apache .htaccess mod-rewrite rewrite

我有一个简单的重写改变

http://website.com/page.php?id=1
Run Code Online (Sandbox Code Playgroud)

http://website.com/page/1
Run Code Online (Sandbox Code Playgroud)

使用以下重写

RewriteRule ^page/(\d+)/?$ /page.php?id=$1 [L]
Run Code Online (Sandbox Code Playgroud)

重写工作,它显示页面(我没有得到404),但它似乎没有从URL传递id.

为了测试这个我基本上回应了$ _GET ['id']并且没有返回任何内容.

有谁知道我为什么会出错?

非常感谢

anu*_*ava 7

这很可能是由于启用MultiViews之前运行mod_rewrite和重写/page to /page.php.

在.htaccess上添加此行以禁用它:

Options -MultiViews
Run Code Online (Sandbox Code Playgroud)