首页 » 后端 » PHP » 正文

将网站制作期间的测试地址301跳转到客户的域名(即打开测试地址时跳转到客户的网站)

发布者:站点默认
2012/10/12 浏览数(2,889) 分类:PHP 评论(2)

说明:

网站制作期间通常会给客户一个临时的网址来看网站的效果,包括美工效果图、程序、内容添加等等。这个临时的网址就是网站的测试地址。

下文的代码可以将以下情况的网址跳转到客户的“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]

<完>

点击返回顶部
  1. 留言
  2. 联系方式