2012年6月26日星期二

首页如何转向同时避免循环

首页如何转向同时避免循环

  很多网站用类似这种形式http://www.yourdomain.com/index.html/链接向自己的首页。问题是大部分指向网站首页的外部链接使用的是http://www.yourdomain.com/,因此分散了指向网站的链接权重。注意到这点的站长想要解决他们的内部链接,要从http://www.yourdomain.com/index.html做301转向到http://www.yourdomain.com/。但 是处理不好的话会产生循环转向问题。

  当有人输入http://www.yourdomain.com/来到你的网站,互联网DNS系统帮助浏览器找到网站所在的服务器,然后网站服务器怎样决定显示什么给浏览器?它要调用网站服务器硬盘上的一个文件。

  没有指定文件时(也就是如上面例子,只指定了域名),服务器调入一个被称为默认文件的文件。这个文件的文件名经常是index.html/index.htm/index.shtml/index.php或者default.asp。

  文件名实际上可以任意的,但大部分网站服务器默认设置为某种文件名。很多CMS回显示网站首页的两种形式:http://www.yourdomain.com/和http://www.yourdomain.com/index.php,这就会带来问题。

  可能网站所有页面都链接至http://www.yourdomain.com/index.php,但是由于习惯,第三方给你的首页链接大部分指向 http://www.yourdomain.com/。如果搜索引擎看到首页的两个版本并认为它们是单独的文件,就将产生复制内容问题。Google在 解决这个问题方面已经很聪明了,但是最好不要依赖它们。

  你可能决定解决方法是使用301转向从http://www.yourdomain.com/index.php转向到http: //www.yourdomain.com/。听起来不错,不幸的是有个大问题。当服务器看到http://www.yourdomain.com /index.php请求,然后看到应该301转向到http://www.yourdomain.com/,它就这么做了。但是当它调入http: //www.yourdomain.com/时,要获得默认文件(index.php)就要调入http://www.yourdomain.com /index.php,然后服务器又看到你要转向到http://www.yourdomain.com/,这就产生了无限循环。

  默认文件转向方法

  下面的方法指的是前面index.php的例子。你需要放上你自己的服务器所用的恰当默认文件名。

  1.复制index.php内容到另外一个文件。在本例子中我使用sitehome.php。

  2.给文件根目录创建一个Apache DirectoryIndex指令,设置为sitehome.php。不要在整个服务器级别设置这个指令,否则其他还需要以index.php为目录默认文件的文件夹会产生问题。

  3.在文件根目录的.htaccess文件中放上:DirectoryIndex sitehome.php。或者如果你没有使用每个目录单独的文件,在你的httpd.com文件中放上下面的代码:

<Directory/your/document/root/examplesite.com/>
DirectoryIndex sitehome.php
</Directory>

  4.删除原本index.php文件中的内容,插入下面这行代码:

<? header("Location:http://www.example.com");?>

  这个设置使index.php不是目录首页文件(也就是默认文件名)。当有人输入规范化URL(http://www.yourdomain.com/) 时强制读取sitehome.php。来自旧链接的对index.php的请求现在被301转向,同时避免可无限循环。

  如果你使用CMS,设置完上面这些后,还需要确保所有内容链接都指向规范化URL(http://www.yourdomain.com/)。如果因为某 种原因CMS开始指向http://www.yourdomain.com/sitehome.php,循环的问题又会发生,强迫你再做一遍整个过程。

  文章由湛江SEOhttp://www.wwoyy.com首发,转载请保留!


TAG:首页 如何转 同时 避免 循环 多网站 用类 似这种 形式 站长 网站 网站推广 赚钱