升级 Apache 时一些 RewriteRule 停止工作

Some RewriteRule stopped working when upgrading Apache

我在服务器上将 Apache 从 2.2.14 升级到 2.4.7,一些 .htaccess RewriteRule 已停止工作

#this rule isn't working
RewriteRule ^places/create?$ ./create-place.php

#this rules are working
RewriteRule ^places/create/artist ./create-place-artist.php
RewriteRule ^places/create/location ./create-place-location.php
RewriteRule ^places/create/others ./create-place-others.php

知道如何更新它们吗?

谢谢!

? 不在 ^places/create?$ 的位置。 e? 表示有 e 或没有 e.

简单地说,就像其他有效的规则一样:

RewriteRule ^places/create ./create-place.php

并且您需要更改顺序。比较具体的一定要先放:

RewriteRule ^places/create/artist ./create-place-artist.php
RewriteRule ^places/create/location ./create-place-location.php
RewriteRule ^places/create/others ./create-place-others.php
RewriteRule ^places/create ./create-place.php