说明:
网站制作期间通常会给客户一个临时的网址来看网站的效果,包括美工效果图、程序、内容添加等等。这个临时的网址就是网站的测试地址。
下文的代码可以将以下情况的网址跳转到客户的“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]
<完>