我有一个安装了PHP CGI的apache2服务器,在我的目录之一中运行php脚本,我用下面的.htaccess
文件:
RewriteEngine On RewriteRule ^article\/(\d+)\/?$ article.php?id=$1 [NC,QSA]
当inputURI如http://www.mysite.com/article/132/
重写使redirect,但在里面article.php
我不能读取$_GET["id"]
( var_dump
从$_GET
/ $_REQUEST
结果在空arrays
在另一台服务器,我已经与Apache mod_php – 一切工作正常。
我不能100%确定CGI是这个原因 – 但我有充分的理由这样做
谢谢!
这听起来很模糊,就像mod_negotiation在你不想要的时候搞砸了一样。 尝试添加到您的htaccess文件:
Options -Multiviews
Multiviews
选项会打开mod_negotiation中的某些内容,试图猜测请求之后的资源。 当它看到URI /article/something
,然后它看到有一个文件/article.php
,它假定你的意思是/article.php/something
并完全服务,完全绕过mod_rewrite。