【问题标题】:Set X-Robots-Tag on development and staging servers [closed]在开发和登台服务器上设置 X-Robots-Tag [关闭]
【发布时间】:2013-04-05 10:36:51
【问题描述】:

将此添加到旧系统并尝试在 .htaccess 文件中执行此操作。

# Prevent search engine indexing on dev sites:
SetEnvIf Host myliveserver\.com$ isproduction 
Header set X-Robots-Tag "noindex, nofollow, noarchive" env!=isproduction

使用 mod_setenvif 在 Apache 2.2.22 上运行

获得可怕的 500。 如果我删除条件 env!=isproduction 它运行。 我错过了条件子句的什么?

【问题讨论】:

    标签: apache .htaccess http-headers conditional setenv


    【解决方案1】:

    500 状态码有两种可能性

    • mod_header 未启用
    • 根据Header

    语法: 标头 [条件] set|append|merge|add|unset|echo|edit 标头 [值] [替换] [early|env=[!]变量]
    ...
    env=[!]varname
    当且仅当环境变量 varname 存在时,才会应用该指令。 一个!在 varname 前面会反转测试,因此该指令仅在 varname 未设置时适用。

    所以,你的头指令应该是

    Header set ... env=!isproduction
    

    【讨论】:

    • mod_header 已启用。我从 Apache 文档中得到了语法。我只是对我的示例有什么问题感到困惑,我相信它遵循这种语法。
    • @lonkoenig 看答案的第二部分。
    【解决方案2】:

    啊..就是这样...
    =! vs !=
    NOT 应用于变量,而不是相等。

    【讨论】:

      猜你喜欢
      • 2016-07-27
      • 2012-06-21
      • 2021-05-17
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      • 2017-10-05
      相关资源
      最近更新 更多