首页 > 网站建设 > 实现主页的多个地址表达形式重定向到同一个地址
2010
02-25

实现主页的多个地址表达形式重定向到同一个地址

  记得之前在bo-blog论坛有朋友提到,博客主页不想出现http://域名/index.php这样的网址格式,当时有朋友提到了多种实现的方法,如修改模板、修改相关PHP文件和在index.php添加跳转代码等。不过我在网上搜索,看到似乎可以利用301重定向来实现,我特地在我的博客上试了下,好象没什么问题哟。
  网站的首页一般都有几种链接可以达到,以我的博客为例,www.tryboy.org、tryboy.org、www.tryboy.org/index.php、tryboy.org/index.php这几种形式都可以通向博客的首页。据说从中选择一种作为网站的永久根地址,然后用301重定向将其他的形式定向到所选择的根地址,这样在SEO上的好处就是集中PR到一个根地址上,即是避免根地址权重分散。
  具体实现代码如下:
RewriteEngine On
RewriteCond %{http_host} ^tryboy.org [NC]
RewriteRule ^(.*)$ http://www.tryboy.org/$1 [L,R=301]
rewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
rewriteRule ^index\.php$ http://www.tryboy.org/ [R=301,L]


代码注释:RewriteCond %{http_host} ^tryboy.org [NC]
     RewriteRule ^(.*)$ http://www.tryboy.org/$1 [L,R=301]
     上面两行是实现tryboy.org重定向到www.tryboy.org(我对带WWW的域名有偏爱,如果对不带WWW的域名偏爱的话,可以反过来设置。)
     rewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
     rewriteRule ^index\.php$ http://www.tryboy.org/ [R=301,L][/code]
     上面两行就是实现带index.php的域名定向为www.tryboy.org形式。