【问题标题】:PHP Fix Relative Image Path Using .htaccessPHP 使用 .htaccess 修复相对图像路径
【发布时间】:2012-02-18 00:19:33
【问题描述】:

我有一个php文件,例如www.example.com/folder/test.php

上面的文件(test.php)有一行

include($_SERVER['DOCUMENT_ROOT'].$page);

$page = /folder2/.$directory1./.$directory2./.index.php

$directory1$directory2 都是随机的。

然而,

索引页上有一张图片,该图片仅引用该图片作为来源。

例如 src="image.bmp"

所以图片的网址实际上是这样显示的... www.example.com/folder/image.bmp

它应该像这样显示... www.example.com/folder2/.$directory1./.$directory2./image.bmp

除了使用绝对路径之外,还有其他方法可以解决这个问题吗? 有数以百万计的目录,我们希望更正问题而不是更正问题(即使我们将两者都做)。

我可以将一个 htaccess 文件放在它寻找图像的目录中以重定向它吗?

发件人:www.example.com/folder/

收件人:www.example.com/folder2/.$directory1./.$directory2./

【问题讨论】:

  • 不是绝对网址,而是查看根相对网址。例如/folder/image.png

标签: php .htaccess path relative-path absolute-path


【解决方案1】:

如果您想这样做,您应该动态更改 .htaccess 或在其中指定任何可能的 $directory1/$directory2 组合。在我看来,最好的方法是将文件index.php 中该图像的src 更改为:

<img src="/folder2/<?php echo $directory1; ?>/<?php echo $directory2; ?>" />

【讨论】:

  • 谢谢,我想我的问题实际上可能出在 include($_SERVER['DOCUMENT_ROOT'].$page);有没有办法在另一个窗口中打开这个页面,同时仍然向它传递变量?
  • 如果你想在另一个页面打开它,你应该使用像somesite.com/?one=dummy&two=foo这样的url传递变量。
  • 我不想那样做。除了 include($_SERVER['DOCUMENT_ROOT'].$page); 还有其他方法吗?包含其他页面,但在该页面上正确使用相对路径。
  • 我不明白,你为什么不能用那些echo?我的意思是,为什么网址应该是相对的?该页面(包含的页面)是否可以自行打开?
  • 第一页打开一个新窗口(test.php),其中包含我们上面讨论的包含。它在浏览器中显示 URL = test.php 目录,当它包含实际 $page 的路径时,包含工作正常,它只是在 test.php 目录中查找图像,我需要它在 $page 目录中查找它。
猜你喜欢
  • 1970-01-01
  • 2015-12-24
  • 2012-01-10
  • 2017-06-19
  • 1970-01-01
  • 2012-04-09
  • 2011-08-25
  • 2013-07-25
  • 2020-08-09
相关资源
最近更新 更多