Mod_Rewrite 规则冲突让我发疯

2024-04-11

我有一个 .htaccess 如下,有些规则是冲突的 - 我需要以某种方式制定一个条件,这样他们就不会

RewriteEngine On
RewriteRule ^search$ results_template.php [L]
RewriteRule ^load-([a-z0-9-]+)$ index.php?key=$1 [L]
RewriteRule ^([a-z0-9-]+)$ http://domain.com/share/index.php?key=$1 [L]

.htaccess 文件位于http://domain.com/directory/.htaccess http://domain.com/directory/.htaccess


第一条规则应该只是重写名称search to results_template.php并停止处理更多规则

http://domain.com/directory/search

loads

http://domain.com/directory/results_template.php


第二条规则应该采用abcdef-1 from

http://domain.com/directory/load-abcdef-1

并将其作为参数发送到

http://domain.com/directory/index.php?key=abcdef-1然后停止处理规则。


第三条规则应该采用abcdef-1 from

http://domain.com/directory/abcdef-1

并将其作为参数发送到

http://domain.com/share/index.php?key=abcdef-1然后停止处理规则。


我遇到的问题是,无论我如何尝试让这些在我提出要求时都能很好地配合在一起http://domain.com/directory/search http://domain.com/directory/search第三条规则被调用并且我被重定向。

我确信这只是完全的疲倦或完全的愚蠢,但我已经在这一小步骤上花费了太多时间,所以任何帮助都会很好。谢谢


您将需要 RewriteConds:

RewriteEngine On
RewriteBase /directory
RewriteRule ^search$ results_template.php [L]
RewriteRule ^load-([a-z0-9-]+)$ index.php?key=$1 [L] 
RewriteCond %{QUERY_STRING} !^results_template.php
RewriteRule ^([a-z0-9-]+)$ http://domain.com/share/index.php?key=$1 [L]

例如。用户请求 /search,然后查询将转换为 results_template.php。使用这个新查询 /results_template.php 再次检查所有规则,当然最后一个规则适合,因为它是最通用的规则。

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

Mod_Rewrite 规则冲突让我发疯 的相关文章

  • 从 Django 运行 shell 命令

    我正在 Django 中开发一个网页 使用 apache 服务器 需要调用 shell 命令来启用 禁用一些守护进程 我尝试这样做 os system service httpd restart 1 gt HOME out 2 gt HOM
  • 优雅地处理没有数据的 amcharts

    我想知道我的 dataProvider 是否为空 amCharts绘制时默认为null 我怎样才能动态地处理它 var chart AmCharts makeChart chartdiv theme none type serial dat
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • 检查 PHP 中“@”字符后面的单词

    我现在正在制作一个新闻和评论系统 但是我已经在一个部分上停留了一段时间了 我希望用户能够在 Twitter 上引用其他玩家的风格 例如 用户名 该脚本看起来像这样 不是真正的 PHP 只是想象脚本 3 string I loved the
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一

随机推荐

  • 如何对每个 WCF 调用进行身份验证和授权?

    我有 WPF 客户端使用 IIS 中托管的 WCF 服务 对于身份验证 我正在考虑证书或用户名身份验证 客户端调用 WCF 中的几个方法并传递一些消息 对于 WCF 接到的每个电话 我 想要验证用户身份 要将消息放入数据库 我必须知道调用者
  • 如何自定义NSToolbar的上下文菜单?

    我需要从右键单击上下文菜单中删除一些项目 但工具栏不包含用于访问 toolbarView 的公共 API 是否可以在不使用私有 API 的情况下自定义菜单 您可以在创建工具栏时访问和修改工具栏上下文菜单 即在 awakeFromNib NS
  • 支持 DB2 和 IBM Cloud php 应用程序的 github php buildpack

    我们在 IBM Cloud 上有一个连接到 DB2 实例 也在 IBM Cloud 上 的 PHP 应用程序 该应用程序已经完美运行了 2 年 截至 9 月 16 日 我们使用构建包 https github com ibmdb php b
  • RevealViewController() 总是返回 nil

    我遇到了一些麻烦revealViewController在 Xcode 7 2 和 iOS 9 2 中 我的应用程序从嵌入导航控制器中的视图控制器开始 以执行登录 登录后 或者如果存在登录令牌 我会使用以下代码跳转到嵌入导航控制器中的另一个
  • 有哪些不同类型的封装?

    有哪些不同类型的封装 我是否认为这基本上指的是核心面向对象概念 例如抽象 多态性和继承 我对封装的理解是 它是一种隐藏数据 功能的方法 但我从未真正考虑过多态性或继承是封装的一种形式 尽管我可以看到多态性如何被视为封装 因为它可以隐藏您的对
  • 如何在 protobuf-csharp-port 和 protobuf-net 之间进行选择

    我最近不得不寻找最初由 Google 开发的 Protocol Buffers 库的 C 移植 你猜怎么着 我在这里发现了两个由两个非常知名的人拥有的项目 protobuf csharp 端口 http code google com p
  • 比较两个数据库的结构?

    我想问是否可以比较两个巨大数据库的完整数据库结构 我们有两个数据库 一个是开发数据库 另一个是生产数据库 有时我会忘记在发布部分代码之前对生产数据库进行更改 这会导致生产数据库不具有相同的结构 因此如果我们发布某些内容 就会出现一些错误 有
  • 如何将我的 React-App 部署到 github 用户页面

    我一整天都在努力将我的 React 应用程序部署到 Github 用户页面 例如https mygitname github io http 而不是 Github 页面 例如https mygitname github com mysite
  • 从动态复选框列表中获取值

    See my html
  • 错误 TypeError:无法读取 Angular 7 拖放中未定义的属性“长度”

    我只是想在 Angular 7 的帮助下创建拖放组件DragDropModule from angular cdk drag drop 但我总是收到如下错误 HomeComponent html 14 ERROR TypeError Can
  • 如何创建带有括号和参数的自定义 jquery 函数

    我知道我的问题需要更多澄清 所以让我解释一下 当我访问 fn extend 的 jquery api 文档时 我个人对创建如下所示的自定义 jquery 函数是多么容易感到震惊 input type checkbox check 链接在这里
  • 如何使用react.js上传Excel工作表文件并将数据显示到表格

    我是 React JS 的新手 我正在尝试使用react js上传Excel工作表文件并将数据显示到表格中 我有 链接中的部分参考 但并不完整 请帮忙解决一下 从 Excel 导入数据并在 React 组件中显示 https stackov
  • MVC 3 应用程序中的自定义 Http 处理程序

    我正在使用 Http 处理程序来本地化应用程序中使用的 javascript 文件 看 在 ASP NET 中本地化 JavaScript 文件中的文本 http madskristensen net post Localize text
  • Gulp - 处理多个主题和文件夹

    我正在努力创造一个终极gulpfile我们可以在我们的大型网站之一上使用它 一个具有多个主题 具体取决于您所在网站的部分 我试图让它只运行它需要运行的进程 而不是重新编译所有内容 让我准确地布局我想要实现的目标 文件夹结构 src mast
  • C# 反射:获取解决方案中的“所有”活动程序集?

    这是我的问题 我有 2 个项目 一个 常见 项目 其行为类似于具有各种支持代码的库 以及在许多调用中使用所述项目的实际程序 我们将这些项目称为 Common 和 Program 它们都在同一个解决方案中 在 Common 中 我有一个用于常
  • 使用我自己的 Laravel API 时如何遵循“不重复”原则?

    我正在开发一个 Laravel 4 应用程序 它将通过 JSON REST API 和 Web UI 对我的数据集提供相同的 CRUD 操作 看来 为了防止违反 DRY 原则 我的 UI 应该通过将所有请求从 UI 路由回 API 来使用我
  • 将 Rails/Unicorn/Nginx 容器连接到 MySQL 容器

    相关this https stackoverflow com questions 31735529 docker image from existing rails unicorn mysql app线程 我正在尝试创建 2 个容器 1 个
  • Service Fabric:找不到 EntryPoint Blah.exe

    我进行了一些项目重命名并更改了文件夹结构 现在我无法将服务结构应用程序部署到本地服务结构集群 Register ServiceFabricApplicationType 找不到 EntryPoint IdentityService exe
  • Selenium 代码不会终止

    以下代码不会终止 原因可能是什么 from selenium import webdriver from selenium webdriver common keys import Keys driver webdriver Firefox
  • Mod_Rewrite 规则冲突让我发疯

    我有一个 htaccess 如下 有些规则是冲突的 我需要以某种方式制定一个条件 这样他们就不会 RewriteEngine On RewriteRule search results template php L RewriteRule