匹配 mod_rewrite 规则正则表达式中的问号

2024-04-23

我正在寻找使用多个子字符串重写网址。一个子字符串作为子目录被请求,而任何其他子字符串作为普通查询字符串参数被请求。

例如,我想重写 url

http://www.mysite.com/mark/friends?page=2

to

http://www.mysite.com/friends.php?user=mark&page=2

除了问号字符之外,我能够完成此任务。这是我的重写规则:

...
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-_]+)/friends[?]?([^/\.]+)?$ friends.php?user=$1&$2 [L]

如果我将问号更改为任何其他字符,效果会很好。问题似乎出在“?”上。字符被错误地解释为新查询字符串的开头。

我需要按原样传递 /user/friends 之后出现的任何参数。我该如何实现这个目标?


您应该使用[QSA]标记而不是尝试重写查询字符串。[QSA]将查询字符串传递到重写的 URL。

所以你的规则应该是这样的:

...
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-_]+)/friends/? friends.php?user=$1 [QSA,L]

您的情况非常类似于mod_rewrite 说明书中给出的使用 QSA 标志的示例 http://mod-rewrite.org/.

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

匹配 mod_rewrite 规则正则表达式中的问号 的相关文章

  • 正则表达式拆分数字和字母组,不带空格

    如果我有一个像 11E12C108N 这样的字符串 它是字母组和数字组的串联 如何在中间没有分隔符空格字符的情况下分割它们 例如 我希望分割结果为 tokens 0 11 tokens 1 E tokens 2 12 tokens 3 C
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 解析西班牙姓氏

    西班牙姓氏由三部分组成 父亲的名字 可选的母亲姓名 可选配偶的父亲姓名 这三个部分中的每一部分都是一个单词 前面可能带有 De Del De La De Los 或 De Las 这些前缀中的每一个都以大写字母开头 并且每个部分可能只有一个
  • Mod_Rewrite 将子域和目录设置为 GET 变量

    我编写了一个想要多语言的网站 应该可以通过子域访问不同的语言 例如 en example com de example com 等 此外 我已经重写了将 目录 设置为 GET 变量 将 example com name 更改为 exampl
  • Perl 非贪婪

    我遇到非贪婪正则表达式 regex 的问题 我已经看到有关于非贪婪正则表达式的问题 但它们没有回答我的问题 Problem 我正在尝试匹配 lol 锚点的 href Note 我知道这可以通过 Perl HTML 解析模块来完成 我的问题是
  • Mac 上的 Apache 虚拟主机的通配符域

    我目前正在运行多个域以进行本地开发 http wordpress dev http phpmyadmin dev http projectx dev http projecty dev 这些项目大多数位于用户的 Sites 目录中 但有些项
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 我可以使用 mod_rewrite 更改文件扩展名吗?例如 .jpeg 到 .jpg

    我希望使用 Apache mod rewrite 将文件提供为 jpg 而不是 jpeg 这可能吗 尝试这个 RewriteEngine on RewriteRule jpeg 1 jpg
  • 使用通配符分割字符串

    我有一个变量字符串 其中包含我需要的值和拆分器 问题是 字符串的长度是可变的 分割器的类型也是可变的 它们通过 XML 文件到达 字符串将如下所示 1 20 51 2 name jpg 但也可以是 1 20 51 name jpg 坚实的因
  • 如何使用正则表达式将多个
    标签替换为一个
    标签?

    I want br br 变成 br 正则表达式的模式是什么 注 br 标签可以连续出现两次以上 html preg replace br gt s i br html 这将捕获任何组合 br br or br 它们之间有任意数量或类型的空
  • 如何让 mod_perl 在更改时重新加载源文件?

    我正在开发一个带有 mod 的应用程序 perl 并在每次更改代码时重新启动服务器是一个巨大的阻力 我还是想用mod perl 用于开发 因为我计划将其用于实时服务器 我在文档中没有看到有关如何执行此操作的任何内容 想法 我认为 Apach
  • 致命错误:PHP 从版本 7.0 升级到 7.2 后找不到类“SoapClient”

    我升级了PHP 7 0 to 7 2在Ubuntu中 执行升级后 我安装了 Laravel 5 6 升级之前 类 SoapClient 是true 但是升级之后 我遇到了 致命错误 未找到 SoapClient 类 我检查了php ini
  • Java 正则表达式中 \w 和 \b 的 Unicode 等效项?

    许多现代正则表达式实现解释 w字符类简写为 任何字母 数字或连接标点符号 通常 下划线 这样 正则表达式就像 w 匹配像这样的词hello l ve GO 432 or gefr ig 不幸的是 Java 没有 在爪哇 w仅限于 A Za
  • 如何在Python中使用内联正则表达式修饰符[重复]

    这个问题在这里已经有答案了 我有一个正则表达式 n DOCUMENTATION n n n 2 s 女巫我正在尝试处理这样的一些文件 usr bin python coding utf 8
  • egrep 和 grep 之间的区别

    我有一个问题grep and egrep in unix 由于我最近正在学习shell commands in unix 我想知道grep和egrep有什么区别 我发现我们可以将 grep 和egrep 与正则表达式一起使用 但是 我发现这
  • Python 正则表达式中的 \B+ 与 [\B]+ 与 [^\b]+

    我在回答 SO 问题时遇到了一个我不明白的问题 我创建了一个简化的示例来说明该问题 场景 我正在测试两个标记 不是随机的英语单词 在字符串中至少相距一定距离 在这个例子中 我们有一个动物列表 我们要确保在羊和狼之间至少还有其他三种动物 否则
  • C++ 正则表达式,未知转义序列 '\.'警告

    我第一次尝试在 C 中使用正则表达式 我对转义序列有点困惑 我只是想匹配字符串开头的点 为此 我使用表达式 它有效 但我的编译器 g 生成警告 warning unknown escape sequence regex self regex
  • 正则表达式:匹配未包含在 [] 中的空格

    例如 对于这个字符串 div img wrapper img title Hello world 我想匹配第一个空格 但不匹配第二个空格 包含在 中 正则表达式是什么 以下表达式将通过使用前瞻断言来完成这项工作 gt 下划线代表空格 该表达
  • htaccess mod-重写子域

    我使用以下命令将通配符子域重定向到相应的文件夹 RewriteCond REQUEST URI users NC RewriteCond HTTP HOST domain com NC RewriteCond 1 www NC Rewrit
  • 在 .htaccess 中更改什么以使其停止显示子域

    我有这个 RewriteEngine on RewriteCond HTTP HOST m myurlname com RewriteCond HTTP USER AGENT safa NC RewriteRule http m myurl

随机推荐

  • 如何让 Travis-CI 在测试期间识别并打开外部文件

    最后几个失败的构建在我的计算机上运行良好 但我很难让它们传递到 travis 问题来自于测试中的几行 以及其他类似的操作 https github com garth5689 pyd2l blob master test pyd2l tes
  • 免费的 C 语言 IDE? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 谷歌搜索 c ide C 会产生太多 C 结果以及不相关的结果 这些搜索词似乎太短 无法产生相关结果 有人有免费的 Win32 C IDE
  • Html2Canvas 不适用于 webkit-filter - 类似的建议

    Html2Canvas 可以完美地下载 div 内容 但是当 div 包含 css 过滤器时 html2Canvas 不会在生成的图像中应用过滤器 https github com niklasvh html2canvas issues 2
  • CSS3 变换旋转在 Chrome 中导致 1px 偏移

    我在 chrome 中遇到 css3 变换旋转过渡的问题 过渡工作正常 但在完成后元素会移动一个像素 另一个奇怪的事情是 它只发生在页面居中时 margin 0 auto 如果您也删除过渡 该错误仍然存 在 你可以在这里看到它发生 http
  • Python main() 意外缩进错误

    我不知道如何解决这个问题 我尝试过重新输入该程序 我收到最后一个主函数的意外缩进错误 resident 81 nonresident 162 def main initialize counters and total tuition re
  • 如何在函数式编程中为AST节点生成稳定的id?

    我想将一个特定的 AST 节点替换为另一个节点 并且这个替换的节点是由交互式用户输入指定的 在非函数式编程中 可以使用可变数据结构 并且每个AST节点都有一个对象引用 因此当我需要引用特定节点时 我可以使用这个引用 但在函数式编程中 使用I
  • I 类型指令的 MIPS 周期数 (addi)

    So on https en wikipedia org wiki Cycles per instruction https en wikipedia org wiki Cycles per instruction它说 对于多周期MIPS
  • 用 Numpy 向量化运算替换 For 循环

    在下面的代码中 我有一个简单的 for 循环 我希望将其替换为更快的矢量化 numpy 操作 import numpy as np b np array 9 8100 60 7 dtype np float64 a np array 584
  • 隐藏滚动时从底部开始的 UIView

    我有一个tableView我想隐藏UIView当用户向下滚动时位于其上方 目前 滚动隐藏UIView从上到下 我怎样才能隐藏UIView from 自下而上 如下例所示 这有点麻烦 但可能是最简单的方法 在故事板中 将UIView在顶部 我
  • iPhone 5 的 iOS 模拟器 - 1136 x 640 分辨率 [重复]

    这个问题在这里已经有答案了 可能的重复 如何测试 iPhone 5 的应用程序 https stackoverflow com questions 12434011 how to test apps for iphone 5 在 xcode
  • 如何使用 Access-Control-Allow-Origin:https://www.example.com?

    我想从 HTTP 网页进行 HTTPS 调用 我希望解决这个问题Access Control Allow Origin 我该如何使用它 在 HTTPS 页面 您从 HTTP 页面请求 上设置标头 访问控制允许来源 http www exam
  • 如何从内核空间读取/写入 linux /proc 文件?

    我正在编写一个由用户程序和内核模块组成的程序 内核模块需要收集数据 然后将其 发送 到用户程序 这必须通过 proc 文件来完成 现在 我创建了文件 一切都很好 并且花了很长时间在互联网上寻找答案 但仍然找不到 如何读 写 proc 文件f
  • 如何使用 jQuery 在 ASP.NET MVC 中重新加载带有部分视图的 div?

    我有一个 div 其部分位于页面的某处 我在按钮上有一个事件 我如何编写一个 Javascript 来获取 div 并重新加载它 并重新加载部分视图 我从另一个角度看这个问题 但我现在不能这样做 但我需要同样的事情发生 只由 jQuery
  • 如何从查询窗口向 SQL Server 插入 unicode 文本

    我正在使用以下代码 INSERT INTO tForeignLanguage Name VALUES 这个值像这样插入 如何从 sql Management Studio 查询窗口插入 unicode 文本 以下应该有效 N表示 MSSQL
  • 无效的 Apple Watch 图标文件名必须与模式“*@x.png”匹配

    我正在尝试向我的应用程序提交更新以包含 Apple Watch 功能 但是每当我验证构建时 我都会收到下面屏幕截图中详细说明的错误 查看底部错误 我的文件名似乎与模式匹配 所以我不明白问题是什么 如果我能为 1 个图标找到正确的模式 那么我
  • 找出哪些本地分支与远程不同步

    假设我有一个包含多个分支的 git 存储库 我怀疑有些分支没有被推到上游 或者已经过时 或者两者兼而有之 即分歧 有没有一种方法可以通过一个命令找出哪些分支与远程不同步 写一个脚本是可以的 但我想知道是否已经有这样的脚本 我已经做了一个脚本
  • 如何安全地向特定用户发送消息

    我正在使用 ASP NET MVC 5 和 SignalR 我想向特定用户发送消息 我遵循了中解释的方法本教程 https learn microsoft com en us aspnet signalr overview guide to
  • Xcode - 从不同视图更新 ViewController 标签文本

    我的项目中有两个视图控制器ViewController SettingsView 在这里我尝试更新ViewController s标签 当我点击SettingsView s返回键 NSLog工作正常 但标签没有更新 请帮我 设置视图 m I
  • PHP:会话不工作

    当用户在客户端登录时 我将重定向到服务器 一旦验证了他的 user id 和密码 我将在 user id 上设置会话 我将重定向回客户端 然后 我要求填写个人资料信息 如果他想通过 facebook 填写信息 则会出现弹出窗口 请求 fac
  • 匹配 mod_rewrite 规则正则表达式中的问号

    我正在寻找使用多个子字符串重写网址 一个子字符串作为子目录被请求 而任何其他子字符串作为普通查询字符串参数被请求 例如 我想重写 url http www mysite com mark friends page 2 to http www