我只是想通过更改虚拟主机设置以使用代理设置来将我的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>
答案 0 :(得分:0)
以下是Apache指令配置documentation page
的引用该指令限制了所附的范围 URL的指令,以相同的方式。但是,它 将正则表达式作为参数而不是简单的字符串。
因此,请尝试使用:
<LocationMatch "(.*)*">
ProxyPass http://localhost:3000
ProxyPassReverse http://localhost:3000
</LocationMatch>