【问题标题】:.htaccess rewrite affects the url of html image source.htaccess 重写影响html图片源的url
【发布时间】:2012-10-29 14:26:39
【问题描述】:

我正在尝试将www.mywebsite.com/phpfile/uservalue/ 之类的链接重定向到www.mywebsite.com/phpfile.php?param=uservalue

所以我的 .htaccess 文件是

Options -Indexes
Options +FollowSymLinks  
RewriteEngine On  
RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteRule ^phpfile/(\w*)$ ./phpfile.php?param=$1  

重定向效果很好。现在我有一个问题。 我的 phpfile.php 包含以下 html 代码以及其他内容

<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<img src="logo.png">
</body>
</html>

现在,如果我在浏览器中输入 www.mywebsite.com/phpfile.php?param=uservalue,图像就会加载。但是如果我输入www.mywebsite.com/phpfile/uservalue/,图像就不会加载。

在检查元素时,我发现,当图像实际上在 http://mywebsite.com/logo.png 中时,php 试图加载 http://mywebsite.com/phpfile/logo.png

如何防止将额外的 'phpfile' 文件夹添加到图像 url?

【问题讨论】:

  • 图片加载与PHP无关,是客户端浏览器的工作。它们是根据您的相对路径加载的。

标签: php html apache .htaccess redirect


【解决方案1】:

您可以使用相对 url 而不是 &lt;img src="logo.png"/&gt; 使用 &lt;img src="www.mywebsite.com/logo.png"/&gt;" 来解决此问题,以后您将没有问题。

或者,如果您愿意,可以通过这种方式使用 base 元素 &lt;base href="http://www.mywebsite.com"&gt;,您可以像使用它一样使用它&lt;img src="logo.png"/&gt;

【讨论】:

  • 我总是使用像/logo.png 这样的路径,因为它不依赖于域和协议,并且可以在所有“URL 子目录”下工作。
  • 是的,这是真的,但也许他正在使用 php,他可以根据我猜的服务器生成动态。
  • 哎呀!明显的解决方案! *面对自己*非常感谢!
猜你喜欢
  • 1970-01-01
  • 2017-06-30
  • 1970-01-01
  • 1970-01-01
  • 2012-11-27
  • 2011-04-16
  • 1970-01-01
  • 2014-04-07
  • 2016-06-03
相关资源
最近更新 更多