说明:
网站制作期间通常会给客户一个临时的网址来看网站的效果,包括美工效果图、程序、内容添加等等。这个临时的网址就是网站的测试地址。
下文的代码可以将以下情况的网址跳转到客户的“www.域名”:
1、直接访问测试地址;
2、点击搜索引擎中除首页外的其它测试地址页面;
3、直接访问纯域名;
我的测试地址如下:
格式:http://客户的域名.demo.upall.cn/
例如:http://so.com.demo.upall.cn/ (只是举个例子,在下并没有so.com这个客户)
跳会转到的地址:
http://www.so.com/
PHP版代码:
$onLine = 1;
if (!empty($onLine) && isset($onLine)){
$dn = $_SERVER['SERVER_NAME'];
// 将来自 xxxx.xxx.demo.upall.cn 的请求转至 www.xxxx.xxx
if (FALSE !== strpos($dn,'.demo.upall.cn')){
$dn = str_replace('.demo.upall.cn','',$dn);
$uri = 'http://www.'.$dn.$_SERVER['REQUEST_URI'];
// 跳转
header("HTTP/1.1 301 Moved Permanently");
header('location:$uri');
}
// 为 纯域名 网址添加“www.”
if (FALSE === strpos($dn,'www.')){
$uri = 'http://www.'.$dn.$_SERVER['REQUEST_URI'];
// 跳转
header("HTTP/1.1 301 Moved Permanently");
header('location:$uri');
}
}
vhost.conf版代码:
# site
<VirtualHost *:80>
ServerName www.upall.cn
ServerAlias upall.cn
DocumentRoot "/var/www/blog.upall.cn"
<Directory "/var/www/blog.upall.cn">
Options FollowSymLinks
AllowOverride All
</Directory>
<IfModule mpm_itk_module>
AssignUserId upall upallgrp
</IfModule>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^so.com.demo.upall.cn [NC]
RewriteRule /^(.*)$ http://www.so.com/$1 [L,R=301]
</VirtualHost>
上边的代码也可以将“upall.cn”自动转到“www.upall.cn”,操作是将相应的代码换成下边的(也就是把不带“www”的网址转到带“www”的网址上):
RewriteCond %{HTTP_HOST} ^upall.cn [NC]
RewriteRule /^(.*)$ http://www.upall.cn/$1 [L,R=301]
<完>