在我的本地WAMP服务器.htaccess中的以下行不会造成任何问题,并执行我想要的:
RewriteEngine On Options FollowSymLinks RewriteRule ^foo/([0-9]+)/[a-z0-9-]*?$ foo.php?id=$1 [L]
当我上传到我的托pipe(LAMP)网站时,它会导致一个500错误(不pipe重写小册子是否进入播放)。 经过多less修补之后,修复是去除unhungry / lazy修饰符的正则expression式,即:
RewriteEngine On Options FollowSymLinks RewriteRule ^foo/([0-9]+)/[a-z0-9-]*$ foo.php?id=$1 [L]
现在,在我提出的情况下,可以说正则expression式的差异是否有用,但在我看来,第一个例子是有效的,而且它在我的本地WAMP服务器上工作。 那么有没有人有清楚的想法,为什么我得到了500错误?
在foo.php之前添加斜线:
RewriteRule ^foo/([0-9]+)/[a-z0-9-]*?$ /foo.php?id=$1 [L]
或将重写规则从虚拟主机configuration移动到.htaccess。