由于某种原因,我无法在我的 Apache 上执行以下指令。如能得到任何帮助我将不胜感激。
<Location "/(login.php|register.php)">
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Location>
但是以下有效:
<Location "/login.php">
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Location>
答案1
如果您要使用正则表达式,则需要LocationMatch
:
http://httpd.apache.org/docs/2.2/mod/core.html#locationmatch
编辑:应该在 ServerFault 上
答案2
您还没有提到您的 apache 版本,但是假设是 2.2 或 2.4,“~”会激活 Location 指令的正则表达式匹配器。
<Location ~ "/(login.php|register.php)">
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Location>
应该适合你的情况。