Apache 位置正则表达式不匹配路径



我只是想通过更改虚拟主机设置以使用代理设置以及当我尝试使块匹配所有位置时,将我的 apache 服务器指向节点.js应用程序时,它仅匹配具有 1 级深度 url 路径的 url。/示例有效,但/example/damn 不起作用。所以我尝试将正则表达式更改为 这甚至有点过分,但我想我会尝试一下,我一直在尝试许多其他正则表达式组合,但没有一个捕获 URL。我可以补充一点,上面的这个正则表达式实际上根本没有捕获任何内容,它只是在我获得 url 时显示我网站的索引列表。唯一有效的正则表达式是"/*",但它不会比 1 个 url/path/otherpath 更深

我检查了我的正则表达式应该与 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>

这是来自 Apache 指令配置文档页面的引用

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

因此,请尝试使用:

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

最新更新