位置匹配不起作用

位置匹配不起作用

我有这 2 个 LocationMatch 指令

<LocationMatch "^.*system/app_dev\.php(.*)$">
            ProxyPass fcgi://127.0.0.1:9998/var/www/example.com/trunk/system/web/app_dev.php
</LocationMatch>
<LocationMatch "^.*system(.*)$">
            ProxyPass fcgi://127.0.0.1:9998/var/www/example.com/trunk/system/web/app.php
</LocationMatch>

我预计

http://example.com/system/app_dev.php/files/abc 

与第一条规则匹配

http://example.com/system/files/abc

根据第二条规则。

然而就我而言,两者都符合第二条规则。

这是 Apache 2.4

答案1

应该定义 Location 和 LocationMatch,首先不太具体。因此第二个被匹配,因为它应该首先被定义,并且它会覆盖你在第一个中定义的内容。

答案2

尝试逃避斜线?

<LocationMatch "^.*system\/app_dev\.php(.*)$">

相关内容