Apache Location regex不匹配路径

时间:2017-04-11 04:08:36

标签: node.js apache express routing

我只是想通过更改虚拟主机设置以使用代理设置来将我的apache服务器指向node.js应用程序,当我尝试通过它使阻止匹配所有位置时,只匹配具有1级深度网址的网址路径。 / example有效但是/ example / damn不起作用。所以我尝试将正则表达式更改为甚至矫枉过正,但我​​认为我会尝试它,我一直在尝试很多其他正则表达式组合,但没有捕获URL。我可能会补充一点,上面的这个正则表达式实际上并没有捕获任何东西,它只是在我得到url时显示我的站点的索引列表。唯一可行的正则表达式是“/ *”,但它不会比1 url / path / anotherpath更深入

我检查过我的正则表达式应该匹配https://regex101.com/处的所有内容但是apache仍然无法捕获它。

这是我的配置

<VirtualHost *:80>

        ServerName my.dev
        ServerAdmin ireply@myleisure.com.au
        DocumentRoot /home/ggg/Dropbox/host-root/var/www/myleisure.com.au

        ProxyRequests Off
        ProxyPreserveHost On
        ProxyVia Full

        <Proxy "*">
                Require all granted
        </Proxy>

        <Location "(.*)*">
                ProxyPass http://localhost:3000
                ProxyPassReverse http://localhost:3000
        </Location>



</VirtualHost>

1 个答案:

答案 0 :(得分:0)

以下是Apache指令配置documentation page

的引用
  

该指令限制了所附的范围   URL的指令,以相同的方式。但是,它   将正则表达式作为参数而不是简单的字符串。

因此,请尝试使用:

<LocationMatch "(.*)*">
        ProxyPass http://localhost:3000
        ProxyPassReverse http://localhost:3000
</LocationMatch>