linux主机如何实现301重定向和伪静态

  在网上查询了一下还没有人分享Linux主机如何通过.htaccess文件同时实现301重定向和伪静态的,为帮助菜鸟级站长朋友少走弯路,特以把我的经验分享一下。

  最近用PW做了一个新站,备案审核通过,百度Google也均已收录。但有个问题是,百度不像Google那样有网站管理员工具,可以设置主域名,带www和不带www的域名全部都收录,致使网站权重过于分散;与站长朋友做友情链接时,大多不愿与我交换,因为本身就是一个新站,收录页本来就不多,权重又过于分散,所以,哈哈,人之常情,让我换,可能我也不换。使权重重新集中其来,最好的办法就是设置一个主域名,做301永久重定向。假设是带www的域名做主域名,那就把不带www的域名重定向到带www的域名上。

  由于我的新站是用PW做的,有网友介绍可能通过PW下的ghoble.php(网站根目录下)文件达到301重定向的目的,我的ghoble.php代码如下:

  在下述代码下:

file_exists('install.php') && ObHeader('install.php');
error_reporting(E_ERROR | E_PARSE);
set_magic_quotes_runtime(0);
function_exists('date_default_timezone_set') && date_default_timezone_set('Etc/GMT+0');

  填加以下代码;

$host= 'www.lxjiehun.com'; //填写你需要转到的地址
if ($_SERVER['HTTP_HOST'] != $host) {
header("HTTP/1.1 301 Moved Permanently");
 header("Location: http://{$host}{$_SERVER[REQUEST_URI]}");
}
unset($host);

  但试过之后一段时间,百度依然收录不带WWW的网页,有可能ghoble.php文件能实现301功能,但百度不认可?我的主机是Linux主机,还有个方法就是通过修改.htaccess文件达到301重定向功能。我原来是通过.htaccess文件做的伪静态,代码如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2
</IfModule>

  在网上没有查到如何通过.htaccess文件同时实现301重定向和伪静态,我先把原.htaccess做了一下备份(很重要噢),经过几次实验,终于成功了,其代码如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{http_host} ^lxjiehun.com [NC]
RewriteRule ^(.*)$ http://www.lxjiehun.com/$1 [L,R=301]
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2
</IfModule>

  一段时间之后,百度也只收录带www的域名了。

类别:Linux技术  来源:本站原创  作者:hpping  日期:2010-09-25 12:36

上一条:导致客户对SEO行业失去信心的原因分析
下一条:10个你必须掌握的超酷VI命令技巧