【问题标题】:Using conditionals and variables in an .htaccess file在 .htaccess 文件中使用条件和变量
【发布时间】:2014-03-25 22:52:27
【问题描述】:

是否有可能使用 .htaccess 来包含一个基于我定义的变量的条件语句,也许是在 httpd.conf 中站点的特定设置中?

我想做的是在我的开发服务器上将一个变量设置为true。然后,我想要一个条件语句:if development = true, redirect to https

这可能吗?这是做事的正确方式吗?

【问题讨论】:

  • 为什么要在httpd.conf中定义这个变量?最好在 .htaccess 中定义它可以轻松更改以测试不同的环境。
  • .htaccess 在我的所有环境中都是相同的,因为它处理我的路由、缓存和其他事情。因此它不会被 git 忽略,任何更改都将适用于每个环境。

标签: apache .htaccess ssl


【解决方案1】:

在 Apache 中设置变量 httpd.conf 使用:

SetEnvIf Host ^ development=true

然后在您的.htaccess 中添加此规则,执行if development = true, redirect to https

RewriteCond %{HTTPS} off
RewriteCond %{ENV:development} =true
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]

【讨论】:

    猜你喜欢
    • 2011-10-19
    • 2015-03-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 2015-08-04
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多