【问题标题】:What is the simplest way to change the domain for all images?更改所有图像的域的最简单方法是什么?
【发布时间】:2015-09-03 23:09:18
【问题描述】:

这是我网站的域名

www.mydomain.com

现在我添加了新服务器,并将所有图像移至此服务器

cdn.mydomain.com

在我的网站中,有两种情况。

案例一:

<head>
<base href="//www.mydomain.com">
</head>

<body>
<img src="img/internalImage.jpg">
<a href="internalLink.html">internal link</a>
</body>

案例2:

<head>
<base href="//www.mydomain.com">
</head>

<body>
<!--
Value of $row['url'] can be:
1. "img/relative.jpg"
2. "/img/absolute.jpg"
3. "//external.com/external.jpg"
-->
<img src="<?php echo $row['url']; ?>">
<a href="internalLink.html">internal link</a>
</body>

由于我将所有图像都移动到 cdn 服务器,所以我只需要更改 img 标签的基本 url,仅更改图像基本域的最简单方法是什么?我不会编辑整个网站中的每个 img。

【问题讨论】:

  • 不存在仅用于图像的基本 href 之类的东西。

标签: html


【解决方案1】:

你可以像这样使用 JavaScript:

$('img').attr('src', function(i, val) {
   return val.replace('www.mydomain.com', 'cdn.mydomain.com')
});

这不是最佳方式,最好在服务器端执行此操作(如果可以的话),但它确实是工作。

【讨论】:

  • 但他的hrefs是相对的,不包含实际的www.mydomain.com。他可以补充缺失的部分。但是,我不确定这一点,在脚本修复图像之前,这个解决方案不会有大量的 404 吗?我认为他可能会更好地编辑html服务器端。
  • 是的,我进行了测试,但取消了很多。所以我不能使用这个解决方案。 htaccess 可以解决这个问题吗?
  • 我没有测试它,但也许您可以在服务器上创建图像处理程序并将请求重定向到 CDN 服务器上的相同路径。不懂linux所以不知道能不能在htacess.
  • 检查这个stackoverflow.com/questions/8285216/…,我想它会帮助你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-05
  • 2014-01-04
  • 1970-01-01
  • 2011-04-21
  • 2018-12-19
  • 2016-05-22
相关资源
最近更新 更多