我需要帮助让 Apache 正常LocationMatch
工作。
我正在尝试设置一个 cobbler 服务器,默认情况下它需要 SSL。我想重写它,以便人们可以使用http://服务器/cobbler_web相反,以及https://服务器/cobbler_web,它会将它们带到同一个页面。我尝试在 URL 中使用LocationMatch
匹配,如下所示:cobbler_web
### Force SSL only on the WebUI
<VirtualHost *:80>
<LocationMatch "^/cobbler_web/">
RewriteEngine on
RewriteRule ^(.*) https://%{SERVER_NAME}/%{REQUEST_URI} [R,L]
</LocationMatch>
</VirtualHost>
但无论我在 LocationMatch 行上尝试什么,都不起作用。我尝试了上面看到的行,以及.*cobbler_web.*
、 和^/cobbler_web/.*
等。毫无效果。
如果我将其LocationMatch
完全删除,它就可以起作用。
谢谢。
答案1
如果您无论如何都要打开重写引擎,只需使用它来匹配位置:
RewriteRule ^/cobbler_web/ https://%{SERVER_NAME}/%{REQUEST_URI} [R,L]
答案2
不确定为什么这种配置不起作用,但在这个简单的情况下,普通的旧配置<Location "/cobbler_web/">
就足够了。