在 .htaccess 中使用自定义环境变量

2023-12-07

我需要这样的东西:

SetEnv foo bar.baz
RewriteEngine On

RewriteCond %{HTTP_HOST} ^%{foo}$
RewriteRule ^(.*)$ http://www.foo/$1 [L]

UPD:

我做了如下:

SetEnv HOSTNAME_ENV testsite
RewriteEngine On
RewriteCond %{HTTP_HOST} ^%{ENV:HOSTNAME_ENV}
RewriteRule ^(.*)$ http://www.%{ENV:HOSTNAME_ENV}/$1 [L,R=301]

但这不起作用。 %{ENV:HOSTNAME_ENV} 未定义。


这行不通,因为mod_rewrite不扩展测试模式中的变量。因此,您的表达式将尝试匹配正则表达式^%{foo}$, not ^value_of_foo$.

此外,文档SetEnv还特别注意了与以下内容相关的处理顺序mod_rewrite。这实际上确实在这里发挥了作用,尽管规则在请求处理中应用的时间比他们在那里描述的场景要晚。如果在针对您设置的环境变量进行测试之前不执行导致内部重定向的重写,则该变量将为空。

假设您正确设置了变量,一个潜在的解决方法是这样做,尽管我觉得这并不是万无一失的:

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

在 .htaccess 中使用自定义环境变量 的相关文章

  • 在Gradle中,有没有更好的方法来获取环境变量?

    在几个任务中 我引用了我的主文件夹中的 jar 有没有比获取环境变量更好的方法 ENV System getenv HOME ENV HOME task copyToServer dependsOn jar type Copy from b
  • 是否可以处理这样的URL

    http www example com http www test com http www example com http www test com 我使用 htaccess 尝试了许多不同的方法 但没有成功 我需要将第二个网址作为参
  • Php mod_rewrite 无法正常工作

    我有一个带有以下链接结构的 php 页面 http localhost wisper businesspage php profile creativeartbd 所以我尝试将此链接转换为以下样式 http localhost wisper
  • 如何重写 URL 而不刷新,例如 GitHub.com

    我在浏览 GitHub com 时注意到 在查看存储库的源代码时 您单击一个文件 源代码会滑入 并且 URL 会发生变化 但页面看起来并没有刷新 有谁知道这是如何做到的 我见过使用 符号完成此操作 尤其是在创建 Flash 站点时 但我从未
  • 保护公用文件夹中的某些文件和文件夹不被查看

    今天我已经为此苦苦挣扎了一段时间 我想要完成的是我需要阻止所有用户访问某些 php 文件和图像以及更多内容 它们位于单独的文件夹中 我正在使用 WAMP 服务器 我不希望用户只能访问该网站 例如 www images crazy cat p
  • 在 Postman 中使用 url 参数中的环境变量

    是否可以使用 postman 将环境变量添加到 url 参数中 例如见下图 是的 我正在使用它 这是我的屏幕 My IP is 192 168 0 38 like below 现在 我正在使用我的笔记本电脑 但是 如果我完成工作 我会将主机
  • 在 GDB 中,如何将 'exec-wrapper env' 设置为多个环境变量?

    在 GDB 中 您可以使用以下命令设置进程的环境变量set exec wrapper env MYENVVAR 这很好用 但我不确定如何设置多个 是否必须使用某种分隔符 我想同时设置LD PRELOAD and LD LIBRARY PAT
  • .htaccess HTTPS 主域和通配符 HTTP 子域 + 所有非 WWW

    Stack Overflow 上有很多类似的解决方案 例如htaccess http 到 https 带 www 不重定向子域 https stackoverflow com questions 30242495 htaccess http
  • cygwin中刷新windows用户的环境变量

    我想在执行 setx VARNAME VARVALUE 特别是路径 后刷新 cygwins 环境 export VARNAME VARVALLUE 不是一个选项 因为如果导出的值是路径 类似于 UNIX 格式 我需要转换导出的值 但 VAR
  • RewriteEngine On .htaccess 不起作用

    我正在尝试提出我的请求如何处理这样的文件 r login 但有像index php这样的服务器吗 r login 我正在使用的 htaccess 代码似乎不起作用 Options FollowSymLinks RewriteEngine O
  • Apache2 重写查询字符串转义两次

    在虚拟主机配置文件中使用此规则会导致查询参数的双重转义 RewriteEngine On RewriteCond HTTPS off RewriteRule https HTTP HOST REQUEST URI 例如 http examp
  • PHP 中的依赖注入

    我一直在研究依赖注入 我是在关注某件事还是完全没有关注 代码是好是坏 依赖注入与否 下面的代码是CMS系统的基础 现在有一个名为 page details 的表 其中存储了所有网页 目录 文件结构 htaccess index php cl
  • 如何使用 mod rewrite / htaccess 创建具有两个或多个参数的友好 URL?

    新手在这里重写Mod 我想在 URL 中传递两个 URL 参数 但采用更友好的格式 如果用户通过 example com blah123 sys 在本例中我应该能够提取 MySQL 记录 blah123 和模式类型 sys 这是例子 URL
  • 展开字符串中的环境变量

    是否有一些 java 实用程序 可以扩展 和 env 字符串中的变量 就像 bin MY PATH gt home john bin dev null 谢谢 基本上 您想要使用环境变量进行字符串插值并扩展主目录 我不知道执行后者的简单方法
  • 特定文件夹的 .htaccess 例外

    这是我的 htaccess 代码 位于根文件夹中
  • 未加载测试环境的节点 dotenv 文件

    我有两个 dotenv 文件 一个用于开发 另一个用于测试 const dotenv require dotenv if process env process env NODE ENV dotenv config path env pro
  • 拒绝访问特定目录中的特定文件类型

    对于某些应用程序 用户可以上传自己的文件 由于这可能是非常大的文件 因此他们可以通过自己的 FTP 客户端上传这些文件 当然 我不希望他们上传一些可以访问服务器上所有其他文件的 PHP 文件 我想要防止这种行为的方法之一是拒绝仅访问这些文件
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • Mod_Rewrite 将子域和目录设置为 GET 变量

    我编写了一个想要多语言的网站 应该可以通过子域访问不同的语言 例如 en example com de example com 等 此外 我已经重写了将 目录 设置为 GET 变量 将 example com name 更改为 exampl
  • 如何使用mod_headers和mod_expires进行缓存

    我想在我的网站上缓存图像和其他文件 所以我所做的是确保 mod headers 和 mod expires 具有 usr sbin httpd l 然后将 htaccess 编辑为 ExpiresActive On ExpiresDefau

随机推荐

  • 如何创建“动态”WHERE 子句?

    第一 谢谢 我完成了我的另一个项目 并得到了很大的惊喜 现在一切都按预期进行 感谢一些有帮助的思想家 所以我开始下一个项目 我想要得到这样的东西 SELECT FROM tablename WHERE field1 content AND
  • 通过传递输出迭代器从函数填充 std::[container]

    我想通过传递输出迭代器从函数内部填充容器 因为据我所知 这是最有效的方法 例如 template
  • SDL 事件处理不起作用

    我目前正在通过阅读 Lazy foo 教程来学习 SDL 我在 Linux 上使用代码块 13 12 我无法使事件处理正常工作 我基本上是在尝试显示图像 效果很好 但无论我单击关闭按钮多少次 它都不会关闭 Code include
  • 比较向量值:1 个元素与所有其他元素

    我想知道如何将向量的 1 个元素与另一个向量中的所有元素进行比较 举个例子 假设 x lt c 1 10 y lt c 10 11 12 13 14 1 7 现在我可以逐个比较元素 x y 1 FALSE FALSE FALSE FALSE
  • 计算集合列表中所有组合的交集

    我有一套集合 我想找到仅在每个集合组合的交集中找到的项目数 我基本上想做与在维恩图中创建数字相同的事情 一个基本的例子可能会更清楚 a set 1 2 5 10 12 b set 1 2 6 9 12 15 c set 1 2 7 8 15
  • 如何分割 Tensorflow 数据集?

    我有一个基于一个 tfrecord 文件的张量流数据集 如何将数据集拆分为测试数据集和训练数据集 例如 70 训练 30 测试 Edit 我的张量流版本 1 8 我已经检查过 没有可能的重复项中提到的 split v 函数 我也在使用 tf
  • Angular 2 - 如何有条件地向我的组件添加样式?

    我有一个带有样式表的组件 可以正确加载 如下所示 Component selector open account styleUrls open account component scss templateUrl open account
  • 如何从不同的模型/控制器渲染局部视图?

    我有以下名为 Categories 的部分视图 位于 Views Category Categories 中 model IEnumerable
  • 如何将运行lwuit的j2me转换为android?

    如何将使用 lwuit 库的 J2ME 应用程序转换为 Android apk 我尝试使用 mircoemulator 进行转换 但是当我启动应用程序时 它显示错误并退出 读这篇文章 适用于 Android 的 LWUIT 这里清楚地讲述了
  • ggplot2中仅显示一个文本值

    我试图将文本打印限制为条形图中的一个变量 我怎样才能只标记粉红色的条601 215 399 456 ggplot df aes Var1 value label value fill Var2 geom bar stat identity
  • cassandra 2.2 CQl Shell 支持 python 2.7

    尝试启动 cql Shell 时出现错误 gt cqlsh CQL Shell supports only Python 2 7 gt 我已经安装了python2 7但它仍然给出相同的错误 我必须设置一些路径吗 我已经使用此命令从 data
  • Python - 使用 pandas 多重处理多个大尺寸文件

    我有一个y csv文件 文件大小为 10 MB 包含来自Jan 2020 to May 2020 我每个月还有一个单独的文件 例如data 2020 01 csv 它包含详细的数据 每个月文件的文件大小约为1 GB 我正在分割y csv按月
  • GUI 在循环时变得无响应

    单击按钮后 表单将变得无响应 直到解析函数完成其工作 我想将 searchAll 函数移至线程 我确实阅读了类似问题的几个答案 但我不明白如何 class MyForm QDialog def init self super init se
  • 连接到 SFTP 服务器时出现 SocketException:名称有效,但未找到请求类型的数据

    我正在尝试使用 SharpSsh 库连接我的 sftp 服务器 但出现以下错误 System Net Sockets SocketException 0x80004005 The requested name is valid but no
  • Flutter 在本机应用程序中打开本地资源(PDF)

    我正在尝试将我的应用程序与 PDF 捆绑在一起 并让用户在本机查看器中打开它 我努力了 将 PDF 的数据复制到 临时目录 或 文档目录 来自 path provider 并从那里打开 要打开 我使用 url launcher 打开文件 我
  • 使用 angular2 限制输入字段的长度

    我已经实现了使用 angular2 限制输入字段的指令 它在桌面浏览器中工作正常 但在 Android 移动设备中无法工作 成分 import LimitToDirective from directives limitedvalidati
  • 按两个变量组进行汇总

    考虑一个简化的数据集 真实的数据集有更多的列和行 df tp tf weight 1 FWD RF 78 86166 2 MF LF 81 04566 3 DEF LF 80 70527 4 DEF LF 82 96071 5 DEF RF
  • 如何将position_dodge()和geom_line()与重叠分组结合起来?

    当 x 轴上的分组变量 颜色和线条重叠但总是不同时 是否可以使用 geom line 在躲避点之间绘制一条线 下图中的灰线应该始终连接两个具有相同名称的数据点 它们位于相同的分组 2 x 轴 内 但位于不同的分组 2 颜色 中 可重现的例子
  • 如何在silverstripe数据扩展中自动发布图像

    我试图将上传字段添加到自定义数据扩展并让图像字段正常工作 但是 我上传的图像仍处于概念模式 我必须转到 文件 选项卡才能发布它 我尝试使用 Silverstripe 文档中提供的代码 但这似乎只适用于常规页面 我发现了一个和我类似的问题 如
  • 在 .htaccess 中使用自定义环境变量

    我需要这样的东西 SetEnv foo bar baz RewriteEngine On RewriteCond HTTP HOST foo RewriteRule http www foo 1 L UPD 我做了如下 SetEnv HOS