Apache RewriteRule 将整个 URL 作为参数传递

2024-03-07

目前我的阿帕奇RewriteRule仅将原始 URL 的路径作为查询参数传递给重写的 URL。

如何将整个 URL(包括方案和权限等)作为参数发送到重写的 URL?

I know %{REQUEST_URI}只传递路径,我看不到任何传递整个 URL 的 Apache 环境变量。

我是 Apache 配置的初学者,所以请原谅我的无知,

thanks!

这是我当前的配置:

#
# Enable Rewrite
#

RewriteEngine On

#
# Condition for rewriting the URL. Check the URL's path is a valid REST URI path
#

RewriteCond %{REQUEST_URI} ^(?:[^?#]*)(?:/v[0-9]+(?:\.[0-9]+)*)(?:/[a-z]+)(?:/[a-z]+)(?:/?[^/?#]*)(?:[^?#]*)$

#
# Rewrite the URL, sending the REST path as a parameter to the specified version.
#

RewriteRule ^(?:[^?#]*)(?:/(v[0-9]+(?:\.[0-9]+)*))((?:/[a-z]+)(?:/[a-z]+)(?:/?[^/?#]*)(?:[^?#]*))$ https://localhost/rest/$1/index.php?request_uri_path=https://localhost/rest/$1/$2 [QSA,NC,L,R=307]

目前我已将 url 硬编码到查询参数中,因此 URL

https://localhost/rest/v1/users/show/12345

becomes:

https://localhost/rest/v1/index.php?request_uri_path=https://localhost/rest/v1/users/show/12345

您可以使用此规则获取完整的 URL 作为查询参数:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTPS}s on(s)|
RewriteRule ^ index.php?request_uri_path=http%1://%{HTTP_HOST}%{REQUEST_URI} [L,QSA]

如果你使用的是 Apache 2.4 那么你可以使用%{REQUEST_SCHEME}多变的:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php?request_uri_path=%{REQUEST_SCHEME}://%{HTTP_HOST}%{REQUEST_URI} [L,QSA]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache RewriteRule 将整个 URL 作为参数传递 的相关文章

  • 向 .htaccess 添加 HTTP 严格传输安全

    我想将 HTTP 严格传输安全指令添加到我的 htaccess 文件中 我已在此处的代码末尾添加了锁 但是当我测试测试 HSTS 预加载过程时 它显示设置未设置 我检查了 Apache 配置并看到 headers 模块已启用 我缺少什么
  • CodeIgniter 删除 index.php 和 .htaccess

    我已经为此工作了一个小时 所以我想我不妨问一下 我正在尝试从 CodeIgniter 应用程序的 URL 中删除 index php 但无法执行此操作 该应用程序在我办公室的专用服务器上运行 我通过 url 访问该应用程序http smr
  • 编辑/更改服务器上的 300 多项选择

    我编辑了所有服务器 http 状态消息 当我输入错误的地址时 300 个多项选择仍然显示 所以它向我显示选项 你知道我怎样才能摆脱它吗 我不希望用户有选择 我想重定向到 index html 或者我想显示自己创建的带有 gt 返回 的消息页
  • 有人成功地使用 PHP 5.4.4 和 APC 3.1.10 提供高流量服务吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 将 url 重定向到带有尾随点的主页

    Google 网站管理员显示一些重复的网址 他们是 www abc com index php option com toys view detail n id 148 ite www abc com index php option co
  • 在 Django admin 中保存包含非 ASCII 字符的 ImageField 时出现 UnicodeEncodeError

    我试图在 django admin inlines 中上传图像文件 并在尝试上传文件名包含非 ascii 字符的文件时收到 UnicodeEncodeError File usr local lib python2 6 site packa
  • .htaccess 中 PDF 和图像文件的规范标题链接

    我正在尝试为我的网站上的许多 PDF 和图像文件设置 Canonical 链接 文件夹结构示例 index php docs file pdf folder1 file pdf folder2 file1 pdf file2 pdf img
  • 脚本标头过早结束:媒体(与以下问题相关:rails 应用程序部署+passenger+ubuntu+apache)

    我刚刚设置了一个 linode 服务器并在其上部署了我的 Rails 3 应用程序 它已启动并正在运行 问题是某些图像没有显示在生产中 在本地 它们工作正常 我仔细检查了日志文件 生产 log 但什么也没找到 然后我检查服务器 error
  • .htaccess 在本地主机上给出 500 错误

    我是 MVC 框架的初学者 我正在尝试根据教程创建一个自己的 他们提供的 htaccess 文件包含 RewriteEngine On RewriteCond REQUEST FILENAME d RewriteCond REQUEST F
  • php7ts.dll 无法加载到服务器

    今天我已经安装了php7 但是当我重新启动apache时 它无法启动 尽管我再次编辑了httpd xampp conf文件到配置php7 无论如何我去了C xampp并运行apache start bat 然后我看到以下错误 Apache
  • 如何在 apache 中访问唯一 ID?

    如何访问 apache 跟踪每个请求的 unique id 我想在它调用的任何 php 脚本中跟踪它 并记录每个请求 我删除了以下行的评论http conf file LoadModule unique id module libexec
  • 强制 mod_rewrite 的 RewriteRule 替换的 URL 路径

    使用 mod rewrite 执行重写时RewriteRule 根据替换的根目录是否存在于文件系统上 评估替换并猜测它是 URL 还是文件系统路径 这是相关部分文档 https httpd apache org docs 2 4 mod m
  • 使 .git 目录 web 不可访问

    我有一个网站 我使用 github 闭源 来跟踪更改和更新网站 唯一的问题是 git 目录似乎可以通过网络访问 我怎样才能停止这个并且仍然能够使用 git 我应该使用 htaccess 吗 我应该更改 git 的权限吗 把这个放在一个 ht
  • .htaccess - 将多个子目录重写到根目录

    我正在尝试将多个子目录重写到根目录 我遇到的情况是我有一个名为blog 其中将包含主站点文件夹和另一个名为的子目录项目 包含我想从根目录访问的其他文件夹 www blog work contact projects projectA pro
  • 通过 HTTPS 的隧道

    在我的工作场所 流量拦截器 防火墙变得越来越糟糕 我无法通过端口 22 连接到我的家用计算机 并且缺乏 ssh 访问权限让我感到难过 我以前可以通过将 SSH 移动到端口 5050 来使用它 但我认为最近的一些过滤器现在将此流量视为 IM
  • 致命错误 - 未找到“Mongo”类

    我正在尝试执行此操作 但我收到以下错误 致命错误 在 C wamp www 中找不到类 Mongo Info PHP 5 38 MongoDB mongodb win32 i386 2 0 2 MongoDB PHP 驱动程序 mongo
  • IfModule:什么时候需要指定它?

    您是否需要将重写规则包含在以下内容中
  • htaccess 仅当 HTTP 引荐来源网址不等于某些内容时才重定向

    我有以下规则将中国用户重定向到该网站的中文版本 RewriteCond HTTP Accept Language zh NC RewriteCond HTTP HOST www example com NC RewriteRule http
  • 如何通过 .htaccess 删除 URL 中任何位置的空参数或参数?

    我的意思是空参数可以在 URL 中的任何位置 每次不同的位置 每次使用不同的名称 每次在不同的 php 页面上 例如 http www example com AnyPHPpageHere php parameter1 7 paramete
  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh

随机推荐

  • ExtJS - 语法错误:括号中缺少 )

    我正在编写一些代码来自学 ExtJS 的方法 我对 JSON 也很陌生 所以希望这个问题对你来说很容易回答 我正在尝试从我编写的基本网络服务中检索一些数据should将其结果作为 JSON 返回 因为我是 JSON 新手 可能是它被破坏了
  • 通过“后退”按钮重置表单

    试图找到一个优雅的解决方案来重置网络表单 或更具体地说两个INPUT Type hidden 字段 如果用户在提交表单后返回 据我所知 后退 按钮不会触发 onload 事件 但有什么办法可以解决这个问题吗 当按下后退按钮时 onbefor
  • 在 Scrum 中,细节在哪里? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我们已经在几个项目中使用了 Scrum 并取得了不同程度的成功 我现在有一个与文档相关的疑问 在 Scrum 中 您显然有产品待办事项 应
  • Java 中是否有比 Xalan/Xerces 更快的 XML 解析器 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 除了利用 Tarari 或 Datapower 等硬件之外 我还没有找到很多方法来提高执行密集 XML 处理的 Java 应用程序的性能
  • 如何打开新活动单击列表视图中的项目?

    我无法通过单击列表视图中的项目来启动新活动 我要那个onItemClick可以打开ApkInfoActivity 实际上 当我点击时什么也没有发生 protected void onItemClick ListView l View v i
  • 使用“withCompletionHandler”时何时释放

    我在获取数据时使用块来执行操作 但是什么时候释放之前创建的数组 GKLeaderboard leaderboardRequest GKLeaderboard alloc init if leaderboardRequest nil lead
  • Rake命名空间下的任务变量

    今天我在我的 rake 脚本中看到了一件奇怪的事情 我在不同的命名空间下有两个 Rake 任务 如下所示 path home tomcat tomcat namespace stage do path home tomcat stage t
  • 使用 ng-file-upload + acl 上传时出现 403 错误:公共读取(Angular + Firebase + Aws S3 应用程序)acl:​​私人上传正常

    设想 开发网站的博客功能 Angular Firebase Aws S3 ng 文件上传 https github com danialfarid ng file upload s3 将图像上传到 S3 进行存储 并将 url 存储在 fi
  • 覆盖 artisan migrate 命令的默认 Laravel 数据库配置

    对于我的数据库 MySQL 我有两个用户帐户 一个 mydbuser 对于对所有表具有选择 插入 更新 删除权限的一般应用程序访问 其他 mydbadmin 具有管理表等的权限 CREATE USER mydbadmin IDENTIFIE
  • C# 错误 - 并非所有代码路径都返回值

    我知道还有其他类似的帖子 但其他帖子并没有帮助我找到问题的解决方案 我有 1 个表格和 4 个带有方法的类 并且在名为 成本 的类中出现问题 将所有其他 3 个类放入其中 我将在这里发布四个课程 头等舱 Alimenta ao using
  • SQL 查询 - 返回连接表的前两条记录的连接

    我有两张桌子 Patient pk患者ID 名 Surname 患者状态 pkPatientStatusId fk患者 ID 状态码 开始日期 EndDate Patient gt 患者状态是一对多的关系 我想知道是否可以在 SQL 中进行
  • 替换 Swift 2.2 中的 _stdlib_getDemangledTypeName()

    最新版本的 Swift 2 2 删除了 stdlib getDemangledTypeName 我有什么选择来替代它 我目前正在这样的调试消息中使用 let debugStr stdlib getDemangledTypeName self
  • 在 Magento 中操作多个购物车规则

    上次我遇到困难时 我曾询问过如何操纵购物车规则本文 https stackoverflow com questions 18401781 manipulating shopping cart rules 现在 我在购物车规则中添加了更多条件
  • 如何在 postgres 中对结果执行按位运算符?

    如果我有几行 并且我想对结果执行按位或 我该如何在 Postgres 9 x 中执行此操作 例如 我的表包含 Name col1 col2 John 1 2 Walter 1 1 Ron 1 2 我知道想要执行 select 语句 以便从列
  • 如何向非超链接 HTML 标记添加工具提示

    是否有办法向非超链接添加工具提示 IE 我希望当鼠标滑过文本时将鼠标悬停在工具提示上 我希望有一个不基于超链接的工具提示的工作示例 Thanks 如果您所说的工具提示是指title属性 您可以将其应用于许多不同的 HTML 元素 例如spa
  • 任何 Apache HttpClient 4.4 信任自签名证书的示例

    我变了HttpClient版本从旧版本到新版本4 4 并得到了许多已弃用的方法和类 原始代码可以信任自签名证书 我想替换为新方法和类 任何人都可以给我一个如何替换的指南或任何示例代码吗 谢谢 感谢您的回复 我找到了示例代码如下 SSLCon
  • Shinydashboard 标签框高度

    我正在尝试创建一个tabBox横跨整个mainPanel 我能够获得跨越整个屏幕的宽度 但无法获得同样的高度 我不希望使用像素 或其他单位 的绝对值 因为我希望该应用程序能够在不同的屏幕上使用 我玩了这个例子和example http rs
  • 用于图形的 Java 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 用于操作图形 特别是用于社交网络分析 的最佳 Java 库是什么 我见过荣格 但我想知道你是否知道更好的
  • Shadowbox - 打开内联元素

    我正在使用 Shadowbox 和 jQuery 我可以在页面加载时打开它 我想做的是 打开影子框并显示一个表单 用户可以在其中输入他们的电子邮件地址 然后我想通过ajax提交所述表单 我将表单转储到包含在隐藏 div 中的页面上 其 id
  • Apache RewriteRule 将整个 URL 作为参数传递

    目前我的阿帕奇RewriteRule仅将原始 URL 的路径作为查询参数传递给重写的 URL 如何将整个 URL 包括方案和权限等 作为参数发送到重写的 URL I know REQUEST URI 只传递路径 我看不到任何传递整个 URL