根据.htaccess中的环境变量使用RewriteCond

2024-01-01

我试图在 .htaccess 文件中定义一个环境变量,然后使用该变量运行重写条件。以下是我的 .htaccess 文件中的内容,但重写不起作用:

RewriteEngine on
#set to 'live' or 'maintenance'
SetEnv ENVIRONMENT maintenance

#If the ENVIRONMENT variable is 'mainetnance' then show a maintenance page to the users
RewriteCond %{ENV:ENVIRONMENT} maintenance
RewriteRule ^(.*)$ /maintenance.html

这样做的目的是,当 PHP 收到来自 GitHub 挂钩之一的发布请求以拉取存储库进行更新时,让 PHP 编辑 .htaccess 文件,从而以编程方式将站点设置为维护模式。


mod_rewrite 不使用通过 SetEnv 设置的变量,而是使用此方法:

#set to 'live' or 'maintenance'
RewriteRule .* - [E=STATUS:maintenance]

#If the ENVIRONMENT variable is 'maintenance' then show a maintenance page
RewriteCond %{REQUEST_URI} !maintenance.html [NC]
RewriteCond %{ENV:STATUS} ^maintenance$
RewriteRule ^.*$ /maintenance.html [L]

底部三行中的第一行确保一旦用户重定向到文件“maintenance.html”,就不会再次重定向。否则,用户不断被重定向到同一个文件,导致 500 内部服务器错误,显示“AH00124:由于可能的配置错误,请求超出了 10 个内部重定向的限制”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据.htaccess中的环境变量使用RewriteCond 的相关文章

  • 请求的操作失败 - Apache 错误

    当我尝试启动 Apache 2 2 服务器时 它显示以下消息 请求的操作失败 在命令提示符中显示如下 C Documents and Settings amth gt net start apache2 2 The Apache2 2 se
  • SVN运行上下文错误:现有连接被远程主机强制关闭

    我在 Debian Wheezy 构建服务器上创建了一个 SVN 存储库 如下所示本教程 http www networkworld com article 2224093 opensource subnet use subversion
  • Apache 未发送 304 响应(如果启用了 mod_deflate 和 AddOutputFilterByType)

    我在 Apache httpd conf 中添加了以下行 AddOutputFilterByType DEFLATE text html text css application javascript application x javas
  • 客户端浏览器关闭时服务器端 Perl CGI 脚本中断

    我已经尝试解决一个小问题很长一段时间了 但似乎我无法解决 我编写了一个 HTML 页面 它在提交表单时调用 perl CGI 脚本 该 CGI 在服务器端执行一定数量的任务 我让脚本将这些任务的步骤打印到 HTML 页面上的 iframe
  • 阻止搜索引擎抓取目录

    我的网站有这样的 URL 最长 结构 http www example com xyz pqr abcd efgh 123 html http www example com xyz pqr abcd efgh 123 html 因此最多有
  • 编辑 HTACCESS 文件以防止直接访问特定文件夹中的特定文件

    我试图阻止直接访问子文件夹中的特定文件 我意识到这个论坛上有很多描述类似问题的主题 但是 我的似乎有点尴尬 由于我已经存在 HTACCESS 文件 这是文件的文件路径 www example com PRINCIPAL PROJECTS m
  • DBus 是我要找的吗?

    我需要一个Linux上的IPC系统 我的要求是 面向数据包 消息 能够处理点对点和一对多通信 没有层次结构 没有服务器和客户端 如果一个端点崩溃 必须通知其他端点 现有 Linux 发行版的良好支持 Apache 存在 绑定 用于创建动态页
  • 如何让 mod_wsgi 在 Mac 上运行?

    几个小时以来 我一直在尝试在 Mac 上安装最新版本的 mod wsgi 3 3 我使用的是 Snow Leopard 并且有系统附带的 Apache Apache 2 2 15 和 Python 2 6 1 r261 67515 版本 我
  • Google reCAPTCHA 响应中没有 Access-Control-Allow-Origin 的 405 错误

    我正在尝试通过 google 实现 reCaptcha 但是当我调用下面提到的 api 时验证失败 在 reCaptcha admin 中我提到过本地主机在域列表中 google com recaptcha api siteverify 以
  • 将非 www 和非 http 重定向到 https

    昨天我在服务器上安装了 SSL 从那以后我无法访问某些页面 www example com amsterdam shoes example com 阿姆斯特丹 两者都不会重定向到 https 甚至不会重定向到 http www exampl
  • CodeIgniter 项目给出 303/压缩错误

    尝试设置一个基于 CodeIgniter 的项目进行本地开发 LAMP 堆栈 并且一旦更新了所有配置文件 这意味着我成功地为 CodeIgniter 生成了有意义的引导错误 我在浏览器中收到此错误 Chrome Error 330 net
  • 从 SSLv3 迁移到 TLSv1

    对于 POODLE SSLv3 现已在服务器上禁用 客户端软件是在 NET 2 0 中开发的 并提供 TLSv1 作为唯一的替代方案 我有权并有能力更改客户端应用程序和服务器配置 ServicePointManager SecurityPr
  • 如何进行有条件的 .htaccess 密码保护

    我正在尝试使用 htaccess 对特定网址进行密码保护 不同的 url 指向相同的文件 但工作方式不同 我现在只需要用密码保护一个网址 我正在尝试使用 setenvif 来执行此操作 但它似乎不起作用 我可能不完全理解 apache se
  • 具有动态 apache vhost 的非通配符证书

    我正在尝试根据用于连接到我的服务器的 url 动态读取 SSL 证书的位置 我尝试了几种不同的方法 但似乎都不起作用 目前我的配置如下所示 UseCanonicalName Off listen 443
  • 将 .com 重定向到 .htaccess 中的 .org

    我将domain com 和domain org 作为指向同一虚拟主机的别名 如何使用 htaccess 将所有domain com 请求重定向到domain org 你可以使用模组重写 http httpd apache org docs
  • 如何阻止用户通过url访问css文件和图像

    我在用 htaccess防止用户通过 url 访问文件 线路 RewriteRule frontend assets css index L R 工作正常 它阻止用户访问 css 文件 然而 RewriteRule frontend ass
  • 从子域中的 ../ 路径

    假设我创建了一个子域 http subdomain mydomain com http subdomain mydomain com 最初是在这个网址 http mydomain com subfolder folder http mydo
  • CodeIgniter 删除 index.php 和 .htaccess

    我已经为此工作了一个小时 所以我想我不妨问一下 我正在尝试从 CodeIgniter 应用程序的 URL 中删除 index php 但无法执行此操作 该应用程序在我办公室的专用服务器上运行 我通过 url 访问该应用程序http smr
  • 新部署后,React 应用程序必须清除浏览器缓存

    我们正在使用 Jenkins 管道在 apache 服务器上部署 React 应用程序 当我们部署新代码时 大多数新功能都可以正常工作 但并非所有更改都反映浏览器中的最新内容 用户必须打开隐身窗口或清除缓存才能看到新功能 我见过一些相关的解
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态

随机推荐

  • Android Eclipse 问题无法创建 BuildConfig 类

    我在 Eclipse 中清理 Android 项目时收到 无法创建 BuildConfig 类 错误 我最近为移动开发人员安装了 Eclipse Juno 当我尝试导入现有的 Android 应用程序时 Eclipse 开始出现这种错误 如
  • 使用 consteval 代替 constexpr 函数有哪些优点?

    我知道需求的差异 我最感兴趣的是它带来的代码质量带来的好处 我能想到的几件事 读者只需阅读函数签名即可知道该函数是在编译时评估的 编译器可能会发出更少的代码 因为constevalfns 在运行时从不使用 这是推测 我没有这方面的真实数据
  • 数据库中什么是半连接?

    我在尝试理解半连接的概念以及它与传统连接的不同之处时遇到了麻烦 我已经尝试过一些文章 但对解释不满意 有人可以帮助我理解它吗 简单的例子 让我们使用左外连接选择成绩的学生 SELECT DISTINCT s id FROM students
  • 如何使用回调函数在 TypeScript 中保留词法范围

    我有一个 TypeScript 类 其中有一个我打算用作回调的函数 removeRow this MyClass void this is now the window object I must use this to get the c
  • Windows Python (<=3.10.2) 无法运行 `python -m venv .venv`

    此问题已解决 并向 Python org 提交了错误报告 看看我的下面自我回答 https stackoverflow com a 71041562 4516027寻求解决方法 直到在未来版本的 Python 中修复为止 我的一台电脑被这个
  • LIBGDX 创建主菜单

    所以我想为我的游戏创建一个主菜单 但我不知道下一步该做什么 我已经完成了所有的艺术工作 并且全部分层并打包在 pack 中 public class MainMenu implements Screen CrazyZombies game
  • 使用比较器的意外输出

    我有以下程序 import java util public class Test public static void main String args Integer array 3 1 4 1 5 9 Arrays sort arra
  • MYSQLi真实转义函数显示换行符和回车符

    我有一个文本区域 当我尝试通过 MYSQLi 真实转义函数和 nl2br 进行转义和清理时 简单的输出给了我奇怪的结果 我的PHP代码 the odd输出是 i love this r n r nand this is gonna be f
  • Angularfire2,startAfter() 不适用于分页

    根据 firebase 文档 这是如何做到的 var first db collection cities orderBy population limit 25 return first get then function documen
  • 改进分配器算法实现的建议

    我有一个 Visual Studio 2008 C 应用程序 其中使用标准容器的自定义分配器 以便它们的内存来自内存映射文件而不是堆 该分配器用于 4 种不同的用例 104字节固定大小结构std vector lt SomeType MyA
  • python多处理中父进程全局变量如何复制到子进程

    乌班图20 04 我对python中不同子进程访问全局变量的理解是这样的 全局变量 假设b 可用于写时复制能力的每 个子进程 如果子进程修改了该变量 则复制b首先创建该副本 然后修改该副本 此更改对父进程不可见 稍后我将就这部分提出问题 我
  • 不明确的规则定义了“T...”的类型

    以下测试之一不起作用 为什么 public class SortedInterfacesTest private static final Logger log LoggerFactory getLogger SortedInterface
  • 在AWS EC2 Linux实例上安装Chrome时出错:未找到scaling_cur_freq和scaling_max_freq

    我正在尝试在 AWS EC2 实例上安装 Chrome 与 Chromedriver selenium 一起使用 但出现了以前从未见过的错误 我能够一致地重现 但在谷歌上找不到任何关于该怎么做的信息 重现步骤 启动新的 EC2 实例 Ama
  • 棘手的选择语句

    我有一个包含类别的表 每个类别都有一个 ID 一个名称和一个 ParentID 问题是有3个级别 父类别 子类别和子类别 我可以用一个简单的方法提取父类别SELECT and a WHERE ParentID IS NULL条款如下 SEL
  • 在 json 中找不到 json.net 必需的属性

    我正在使用 Json net 我得到了一个类如下 public class RecordAlias JsonProperty PropertyName eId Required Required Always public string E
  • 将 C++11 数组与 Cython 连接

    我习惯于构建 C 程序并在 Cython 中获取它 但在这里我试图获取 C 11array这绝对行不通 这是我的 pxd cdef extern from
  • 如何使用 autograd 查找最小/最大点

    假设我们有一个简单的函数 y sin x 2 如何使用 autograd 查找一阶导数值为 0 的所有 X s 下面的代码可以找到一阶导数为零的点 然而 根据随机初始化 它只能找到一个点 如果您想找到所有点 您可以尝试在某些所需的网格上迭代
  • 如何绕过或使 PHP json_decode 不改变我的非常大的整数值?

    所以我在 WAMP 环境中使用 php 5 2 6 我正在尝试使用 json decode 函数将 json 字符串放入数组中 JSON 来自其他地方的 REST API 因此我无法控制 JSON 字符串的格式 这是我尝试使用的 json
  • 从加权集中按权重顺序生成长度 L 的前 N ​​个组合

    我有一组带有权重的字母 这给出了它们出现在字符串中的概率 a 0 7 b 0 1 c 0 3 z 0 01 因此 这个词aaaa有一个概率0 7 0 7 0 7 0 7 0 24 这个单词aaac会有概率0 7 0 7 0 7 0 3 0
  • 根据.htaccess中的环境变量使用RewriteCond

    我试图在 htaccess 文件中定义一个环境变量 然后使用该变量运行重写条件 以下是我的 htaccess 文件中的内容 但重写不起作用 RewriteEngine on set to live or maintenance SetEnv