使用htaccess重写使子目录成为其自己的根目录以用于根相对路径请求

2024-01-28

我可以使用 htaccess 捕获来自某个子目录的请求并使该目录使用自身作为任何根相对路径请求的根目录吗?例如,如果我有...

http://www.example.com/subFIXED/subANY/restofpath

...其中 subFIXED 始终是同一目录,subANY 是 subFIXED 的任何直接子目录,并且我希望重定向来自 subANY 下任何文件的所有 href/src 请求,以使用 subANY 作为“根”(有点像子域) ,实际上让根级别请求使用它作为根目录级别:

http://www.example.com/subFIXED/subANY/

而不是这个:

http://www.example.com/

我假设我可以在 subFIXED 中放置一个 htaccess 文件来处理来自任何 subANY 下任何内容的所有调用,但不太熟悉 htaccess 重写、变量等,我不知道如何捕获哪个 subANY 目录发出根级别请求,然后使用该捕获进行重写,以将该目录视为来自该目录的任何根相对路径请求的根级别。

感谢您的帮助


嗯,.htaccess?它必须依赖于极其不可靠的 HTTP_REFERER,不,谢谢。

在 HTML 中添加 元素即可完成。http://www.w3schools.com/tags/tag_base.asp http://www.w3schools.com/tags/tag_base.asp


编辑:相对于根(“/foo”)也应该考虑在内,因此在使用 修复相对路径后:

.htaccess(极其不可靠,因为子路径切换几乎不可能,并且 HTTP_REFERER 极其不可靠。简而言之:不要使用)

RewriteCond %{HTTP_REFERER} ^.*://[^/]+/subFIXED/([^/]+)/
RewriteCond %{REQUEST_URI}  !^/subFIXED
RewriteRule ^(.*)$ /subFIXED/%1/$1 [R=301,L,QSA] //drop the R=301 if POSTing, but url will not show the 'correct' one in that case

陷阱:

  1. POSTing 很尴尬(无法重定向和保留 POST,因此必须“正常”着陆,这将使后续请求中的 REFERER 无用/错误
  2. 经常不发送推荐人
  3. 发送 REFERER 时不可能从任何其他“subAny”切换到其他“subAny”

更可行的解决方案:

  1. 使用服务器上的脚本对每个请求进行后处理,向每个以“/”开头的引用 (href/src) 添加一个点 (.)。
  2. 前一个可以使用客户端 javascript 完成,但不推荐这样做,因为禁用 js 的搜索机器人和浏览器的所有链接都会中断
  3. 创建一个实际的子域,这只是一个麻烦。

简而言之,除了创建实际的子域之外,没有其他理想的解决方案。您想要解决的确切问题是什么,您需要这个“固定根路径”解决方案?可能还有其他不涉及这么多麻烦的事情。

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

使用htaccess重写使子目录成为其自己的根目录以用于根相对路径请求 的相关文章

  • 如何在 select 和 option 标签中添加 JSON 数据?

    我有这个html代码 div class searchfilter div class searchwrapper div div
  • 合并 url 中的 2 个输入值

    我有这样的形式
  • Facebook 点赞按钮消失

    我的网站中的 Facebook Like 按钮出现问题 添加此代码 由 facebook 提供 按钮在创建时正确显示在任何页面中
  • Quill 公开可用的 CSS

    我最初的目的是从 PrimeFaces TextEditor 组件输出的 HTML 生成 PDF 文件 而该组件又基于 免费开源 WYSIWYG 编辑器 Quill 为此 我需要获取 TextEditor 组件生成的 HTML 将其包含在
  • Python:如何下载 blob url 视频?

    我想使用 Python 脚本从网站下载视频 但是该视频由如下 Blob URL 提供
  • 将查询字符串添加到 Ajax url 调用

    我想知道当我们调用 Jquery Ajax 时是否可以将查询字符串与 URL 一起传递 例子 ajax type POST url index php task addNewInfo data regForm serialize dataT
  • 我可以用 HTML5/JS 编写文件吗?

    我想知道是否有什么方法可以从 HTML5 JS 写入文件 在浏览器中 假设您的最终目标是让用户将您的文件保存在他们能找到的地方 例如右键单击链接并选择 另存为 时 这些 API 的浏览器覆盖范围还不够广泛 这可能是由于出于安全考虑 然而 无
  • 迭代相同的表单元素

    如果一个表单重复具有相同的标签 如何在 JavaScript 中获取它的值
  • 如何让CSS选择以字符串开头的ID(不是Javascript)?

    如果 HTML 中有这样的元素 id product42 id product43 如何匹配所有以 product 开头的 id 我已经看到了完全使用 javascript 执行此操作的答案 但是如何仅使用 CSS 执行此操作 id pro
  • 电子邮件链接在 Android 上不起作用

    我有 HTML 格式的点击电子邮件链接的代码 它在我的电脑上运行良好 但在移动设备上不起作用 我只有 Android 所以我不知道问题是否仅在 Android 上或所有移动设备上 当我按下链接时 浏览器显示 网页无法显示 邮寄至 电子邮件受
  • Bootstrap Affix Nav 导致下面的 Div 向上跳转

    我使用 Bootstrap 的 Affix 函数创建了一个 JSFiddle 以便在向下滚动并且标题移出视图时使导航保持在屏幕顶部 我遇到的问题是 当使用纯 HTML 时 导航下方的文本会过早地跳起来并隐藏在导航后面 查看有问题的代码her
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • 使用 :hover 作为元素的内联样式(使用 HTML/CSS/php)[重复]

    这个问题在这里已经有答案了 可能的重复 如何将 a hover 规则嵌入到文档中间的样式属性中 https stackoverflow com questions 131653 how do i embed an ahover rule i
  • 将输入中每个单词的第一个字符设为大写

    我想知道如何在输入区域自动生成单词的第一个字符 目前我的代码是 Name
  • CSS - div 与父 div 底部对齐(内联块)

    我知道这个 html 很草率 有一些不必要的额外 div 但无论如何 我无法理解为什么 ID 为 info box right 的 div 与父 div 的底部对齐 您可以看到 文本 与下面的 jsfiddle 示例的底部 有什么想法可以让
  • 如何为 TBODY 应用垂直滚动条

    我的表中有 4 列和 5 行数据 我必须为 TBODY 应用垂直滚动条 TH 标题内容不应滚动 我对场景进行了编码 并且在我将滚动类应用于 TBODY 之前它工作正常 一旦我将滚动样式类应用于 TBODY 它就会破坏之前的对齐方式 任何人都
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index
  • 如何:带有 onclick 的 div 位于另一个带有 onclick 的 div 中

    只是一个简单的问题 我遇到了 div 与 onclick javascript 之间的问题 当我点击内部 div 时 它应该只触发它的 onclick javascript 但外部 div 的 javascript 也会被触发 用户如何点击
  • AngularJS 在指令运行之前通过 AJAX 检索数据

    我正在使用 AngularUIuiMap http angular ui github com directives map实例化谷歌地图的指令 uiMap 指令非常适合处理硬编码数据 mapOptions and myMarkers 但是
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航

随机推荐

  • Matplotlib 连续直线到无穷大

    我有一个由 txt 文件中的数据制成的图表 目前 Matplotlib 会将其绘制到我文件中的最后一点 我需要它继续下去 我似乎记得某处说过我可以让一条线无限延伸 在使用微积分和极限时 我的意思并不是无穷大 我只是指屏幕上的一条线 直到图形
  • Xcode 6.1 关于资产目录中启动图像的警告

    我正在使用 Xcode 6 1 创建支持 iOS 6 及更高版本的应用程序 在目标的 应用程序图标和启动图像 中 我将启动图像源设置为 使用资产目录 将启动屏幕文件设置为 LaunchScreen 在Xcode创建的Images xcass
  • 安装和注册 win32 OpenSSL 库

    我的应用程序依赖于 OpenSSL 库 通过 Qt 网络模块 由于法律问题 您无法将其静态编译到 Qt 中 有这样一个项目 Win32 OpenSSL http www slproweb com products Win32OpenSSL
  • Python Numpy 数据类型性能

    所以我做了一些测试并得到了奇怪的结果 Code import numpy as np import timeit setup import numpy as np A np ones 1000 1000 3 dtype datatype d
  • asciidoc:有没有办法创建一个在 libreoffice writer 中可见的锚点?

    Tl dr 在文档中创建锚点的正确方法是什么 和有没有办法让锚点在 writer 中可见 背景 我正在尝试拆分以前的单个文档open office将文档分成更小的asciidoc既包含在主要开放办公文档中又转换为以下任一或两者的文档html
  • 将两个对象(其中一个对象持有对另一个对象的引用)传递到线程中

    我有两个对象 其中第二个对象需要第一个对象比它更长寿 因为它保存对第一个对象的引用 我需要将它们移到一个线程中 但编译器抱怨第一个线程的寿命不够长 这是代码 use std thread trait Facade Sync fn add s
  • eclipse cdt:从 pkg-config 添加包含路径

    我想将动态配置路径 从 pkg config 生成 添加到我的项目中 这基本上是针对像 boost 这样的第三方依赖项 因此工作区包含不合适 文件系统也不包含 因为这将是硬编码的 每个开发人员都必须手动更改它 我在项目属性 gt c 常规
  • 如何在Python中的多个异步进程之间进行同步?

    我有一个使用 fastapi 的异步 http web 服务 我在服务器上的不同端口上运行同一服务的多个实例 并且前面有一个 nginx 服务器 因此我可以全部利用它们 我有一个特定的资源 需要保护只有一个客户端可以访问它 app get
  • dyld:未找到符号:_ffi_prep_closure_loc(在 Mac 上)

    我做了一个常规的flutter run今天在我的 Mac 上 针对我的 iPhone 模拟器 出现了这些错误 Error output from CocoaPods dyld lazy symbol binding failed Symbo
  • ASCII 比较和字符串比较的区别

    我正在使用 C 当我比较两个字符值时 它会向我发送正确的输出 例如 CompareTo Its sending me positive value 12 means gt is true 但是当我比较两个相同值的字符串时 它会向我发送不同的
  • 带有参数和通配符的 SQL LIKE 运算符

    我有一个查询 我想返回名称中具有特定字符串且两侧带有通配符的所有客户端 因此 输入可能是 Smith 我想返回 The John Smith Company 或 Smith and Bros 等所有内容 我希望 Client 得到提示 因此
  • 在 Angular 和 Chrome DevTools 中提取 css 文件的问题

    I use ng serve sm ec提取 scss 文件angular 5 但是当我做出改变时Elements的翁格莱Chrome DevTools像那样 它没有自动保存 我必须改变它Sourcesonglet 并保存以使其正常工作 我
  • iTextSharp - 如何打开/读取/提取文件附件?

    我有一些 PDF 文件 其中包含两个带有静态名称的附加文件 我想使用 iTextSharp 将这些文件提取到临时目录 以便我可以进一步使用它们 我尝试按照教程进行操作但当我遇到问题时iTextSharp text pdf PdfReader
  • 在 C# 中设置 MimeType

    在 C 中设置 mimetypes 是否有比我尝试做的更好的方法 提前致谢 static String MimeType string filePath String ret null FileInfo file new FileInfo
  • C++ 中网络掩码转换为 CIDR 格式

    我必须将 2 个 DWORD IP 地址和网络掩码转换为 CDIR 格式 所以我有 2 个 DWORD 对应 1 1 1 1 和 255 255 255 255 我想拿出字符串 1 1 1 1 32 对此有什么想法吗 Thanks 最简单的
  • xml.etree.ElementTree - 设置 xmlns = '...' 时遇到问题

    我肯定错过了什么 我正在尝试设置谷歌产品提要 但我很难注册命名空间 例子 路线在这里 https support google com merchants answer 160589 https support google com mer
  • Oracle NUMBER 类型是否可能溢出?

    我正在使用名为 Appworx 的进程调度软件 其中 每个进程和子进程可以有任意数量的 条件 如果条件为真 则采取一些条件操作 goto 语句是可能的条件操作之一 其中一个普通整数是标签 每个条件从 1 开始编号 我想使用此功能来循环评估和
  • 将 SDL 应用程序移植到 iOS

    我仅使用 SDL 无 OpenGL 用 C 创建了一个小游戏 并希望将其移植到 iOS 6 我无意公开发布 仅供个人使用 该应用程序仅使用准系统 SDL 库本身 没有 ttf 或图像 那么 将游戏移植到 iOS 6 的最佳无麻烦方式是什么
  • 在可区分联合中使用 F# 中的 and 关键字

    我今天面临以下 DU 声明 type Grammar Definition list and Definition Def of string Expression and Range Char of char Range of char
  • 使用htaccess重写使子目录成为其自己的根目录以用于根相对路径请求

    我可以使用 htaccess 捕获来自某个子目录的请求并使该目录使用自身作为任何根相对路径请求的根目录吗 例如 如果我有 http www example com subFIXED subANY restofpath 其中 subFIXED