有没有一种简单的方法可以根据域名交换文件URL?
我有acme.com和acme.co.uk站点域名,它们需要不同的页眉图形,但内容是相同的。为了不管理两套文件和CMS,是否有JS / php脚本或其他方法可以根据访问的域名动态更改页眉图形URL? 网站是基本的XHTML和CSS。
有没有一种简单的方法可以根据域名交换文件URL?
我有acme.com和acme.co.uk站点域名,它们需要不同的页眉图形,但内容是相同的。为了不管理两套文件和CMS,是否有JS / php脚本或其他方法可以根据访问的域名动态更改页眉图形URL? 网站是基本的XHTML和CSS。
使用PHP
使用 $_SERVER['HTTP_HOST'] 获取您的域名,然后使用 switch 语句更改图像变量。
<?php
switch($_SERVER['HTTP_HOST']) {
case 'acme.com':
case 'www.acme.com':
$image = "acmecom.jpg"
break;
case 'acme.co.uk':
case 'www.acme.co.uk':
$image = "acmecouk.jpg"
break;
default:
$image = "default.jpg"
break;
}
?>
如果你在acme.com之前使用www,则需要相应地将地址更改为“www.acme.com”。对于.co.uk也是如此。
在您的标题图像中,您可以像这样回显图像路径:
<img src="path/to/folder<?php echo $image;?>" alt="header-image" />
因为我无法忍受Tim的编码风格...
<?
$host = preg_replace('~^www\.~','',$_SERVER['HTTP_HOST']);
$headerpic = basename($host).".jpg";
if (!is_readable($_SERVER['DOCUMENT_ROOT'])."/images/header/".$filename) {
$headerpic = "default.jpg"
}
?>
<img src="/images/header/<?=$headerpic?>">
你可以使用 PHP 的 if
语句来实现这个功能。
http://php.net/manual/zh/reserved.variables.server.php 在这里,$_SERVER 变量会非常有用。
然后,你只需要打印/返回你想要的图像路径即可。
我也可以给你一个完整的示例,但是自己尝试一下,这非常值得。
$_SERVER
变量,网址为:http://php.net/manual/en/reserved.variables.server.php - David Thomas