代码之家  ›  专栏  ›  技术社区  ›  JHollanti

mod重写以覆盖对html根目录的调用

  •  1
  • JHollanti  · 技术社区  · 17 年前

    只是一件很快的小事情,但我无法克服它。

    所以,假设您的HTML文件中引用了图像和CSS文件,比如:<img src=“/img/myimage.jpg”/>等等。现在,如果您想添加一个mod rewrite规则来将这些地址映射到类似/subset/img/myimage.jpg的地址,您会怎么做?

    据我所知,我无法覆盖以/开头的路径。如果有一个规则可以对所有的文件请求进行映射,那么当您正在进行映射时,这将是一个很好的方法。

    谢谢!

    编辑:还有一件事。还有一些相对路径(由tinymce生成),它们的工作方式类似于“../../../../img/myimage.jpg”。我不知道为什么这些路径有效,因为这些路径会被映射到公共\uHTML的下面。如果有任何帮助,我们也将不胜感激。

    2 回复  |  直到 17 年前
        1
  •  0
  •   JHollanti    17 年前

    啊!为自己的愚蠢感到抱歉。 当然,您需要处理映射到文档根目录下文档根目录的请求。你看,我在一个子目录中工作。

    在公共HTML或WWW下映射的路径工作的事实仍然困扰着我。但我想额外的“..”只是被忽略并映射到文档根目录。

        2
  •  0
  •   Gumbo    17 年前

    试试这个规则:

    RewriteRule ^img/.* subset/$0 [L]
    

    现在讨论第二个问题:在将相对URI发送到服务器之前,它们总是被解析为绝对URI。所以客户会解决 ../../../../img/myimage.jpg 基于基URI(参见RFC 2396,5.2)。将相对引用解析为绝对形式)。因此,服务器将始终收到一个绝对的URI路径,然后可以将其附加到文档根路径,以将请求的URI路径映射到文件系统。

    推荐文章