是否可以在每个页面更改图像文件名?


Is it possible to change image filename in every page?

我有一个用于广告列表的网站,如backpage和craigslist。

我在每个城市的每个侧边栏上插入了一个横幅广告:例如,横幅图像文件名为

myimage.jpg

现在我想要发生的是:每当他们访问一个城市(例如mysite.com/boston),我希望文件名是这样的:

src="myimage-boston.jpg"
当他们访问 时
mysite.com/birmingham

图像文件名将为

src="myimage-birmingham.jpg"

我这样做是为了SEO的目的。我希望我已经解释清楚了。谢谢你提前:)顺便说一句,我使用codeigniter

Googlebot无法抓取此URL,因为它指向一个不存在的页面。一般来说,404不会损害站点在搜索中的性能,但您可以使用它们来帮助改善用户体验。

如果您可以使用mod-rewrite,请尝试在Apache服务器配置.htaccesshttpd.conf中重写规则(如果您在/images路径中有映像):

RewriteRule ^images/(.*)-.*'.jpg$ /images/$1.jpg

之后,您可以用image src替换任何您想要的内容:

<img src="/images/<?=$imageName."-".$whateverYouWant.".".jpg";?>" />

重写模块将其替换为/images/$imageName.jpg

为视图指定__CLASS__魔术常量,您应该知道正在调用哪个控制器。

更多信息在这里:http://php.net/manual/en/language.constants.predefined.php

它应该看起来像这样:

$mydata['class'] = strtolower(__CLASS__);

和在你的视图

src="myimage-<?php echo $class; ?>.jpg"

解决方案很简单,使用javascript。你可以通过document.location访问URL。然后使用正则表达式或子字符串检测城市名称,并动态创建图像名称。

这也可以在服务器端完成。但是Javascript更适合这样的工作