我有以下在我的网站上强制使用 SSL 的 mod 重写代码:
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
如果我想关闭或打开它,我必须编辑 htaccess 文件。所以我想的是将一个名为 ssl_on 的文件存储在服务器的某个路径中,如果文件 ssl_on 存在,则适用此规则,如果文件不存在,则不应适用该规则。这可能吗?
最佳答案
您可以像这样使用您的规则:
RewriteCond %{HTTPS} off
RewriteCond %{DOCUMENT_ROOT}/ssl_on -f
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
-f
条件将确保仅当网站根目录中存在 ssl_on
文件时才会触发规则。另外最好使用 R=302
而不是 R=301
以避免浏览器中的永久重定向缓存。
关于apache - htaccess 如果某个文件存在则强制使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32477094/