SEO博客

搜索引擎优化博客,关注网络营销和电子商务的SEO博客,搜集一些网站搜索引擎优化、SEO博客推广等方面的资料

这篇文章的位置:SEO博客>搜索引擎优化>泛域名解析后如何301重定向?Rewrite or Redirect?




« 空间有又休息了个下午个人简历页面排名不错 »

泛域名解析后如何301重定向?Rewrite or Redirect?

因为最近弄一个站的优化方案,用到一些301的技巧,特作此笔记记录:


首先是php环境下的常规重定向的方法:

首先在网站根目录建立文件 .htaccess

在文件中输入以下内容:
 

RewriteEngine on
#启用 rewrite module

RewriteCond %{HTTP_HOST} www.bardseo.com
#设定条件,%{HTTP_HOST}-浏览器地址栏中输入的 url 的域名部分
#www.bardseo.com-需要重定向的域名

RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule www.bardseo.com ./joe/index.php [L]
#针对上面 RewriteCond 设定 重定向规则
#www.bardseo.com-需要重定向的域名
#./joe/index.php-重定向的页面
#[L]-执行这个规则后不再向下执行

下面是一些详细的注释,并掺杂一些高级一点的应用技巧。


rewrite重定向的注释给你看看,你就知道了很简单.


1. 对Apache的设置
首先使用命令"httpd -l"检查mod_rewrite模块是否已经编译到Apache中,如果没有,重新编译Apache。
然后在Apache的配置文件httpd.conf中增加如下语句(其中以"#"开头的为注释):
 


#禁止使用机器的正式名
UseCanonicalName off
#使能重写功能
RewriteEngine on
RewriteMap lowercase int:tolower
# 为安全考虑,对CGI程序不进行重写
RewriteCond %{REQUEST_URI} !^/cgi-bin/
# 对www.bardseo.com不重写,其他的重写
RewriteCond ${lowercase:%{HTTP_HOST}} !^www.bardseo.com(.*)$
RewriteCond ${lowercase:%{HTTP_HOST}} ^[a-z0-9-]+.bardseo.com(.*)$
# 首先把机器名改为小写,添加到请求的文件路径前,并继续处理
RewriteRule ^(.+) ${lowercase:%{HTTP_HOST}}$1 [C]
# 重写请求
RewriteRule ^([a-z0-9])([a-z0-9])([a-z0-9]).bardseo.com([.]*)/(.*) /member/$1$2/$2$3/$1$2$3/$5
RewriteRule ^([a-z0-9])([a-z0-9])([a-z0-9]*)([a-z0-9])([a-z0-9]).bardseo.com([.]*)/(.*) /member/$1$2/$4$5/$1$2$3$4$5/$7
 


优点:只要一个IP地址就可以提供大量的虚拟主机服务,维护方便。
缺点:安全性低。上例为了增强安全性,禁止运行用户自己的CGI程序。

2. Apache WWW服务器下的重定向虚拟主机设置
重定向虚拟主机是指仅仅提供重定向功能,而不实际存放用户主页数据的虚拟主机。比如,某站点有多个镜像服务器,假设为www1.bardseo.com、www2.bardseo.com,…wwwn.bardseo.com。这些服务器放在不同的网络上,分布于各地的客户访问这些服务器的速度也互不相同。而站点 www.bardseo.com通过虚拟域名user.bardseo.com为这些镜像的服务器提供虚拟主机服务。当客户访问http://user.bardseoe.com时, www.bardseo.com根据用户的IP地址、收集到的网络拓扑结构信息,把客户重定向到对该客户来说访问速度最快的站点。
重定向虚拟主机服务也可以通过使用URL重写功能来完成。这里仅给出简单的重写规则:
 


RewriteRule ^([a-z0-9]+).bardseo.com([.]*)/(.*) /www/cgi-bin/nph-redirect.cgi/$1/$3 [T=application/x-httpd-cgi,L]
 


其中,nph-redirect.cgi为一个CGI程序,为了实现自动重定向,它需要产生完整的HTTP 应答头信息。该程序通过环境变量PATH_INFO得到用户请求的URL,通过环境变量REMOTE_ADDR得到用户的IP地址,并根据网络拓扑情况生成重定向信息,返回给客户。

从网上左抄右抄,发现仍然解决不了自己需要面对的问题,似乎只有安下心来研究一下mod_Rewrite以及Redirect这些小东东的高级应用了。作以下设想:

要采用的主域名为www.bardseo.com,而此时ww.bardseo.com等其他一些泛解析的二级域名共同绑定在主机的ip地址,通过上面的语句辨认,能否将除www.bardseo.com和一些特定的二级域名除外,其他的采取301重定向呢?也就是说使用mod_Rewrite配置重定向的规则可以么?SEO博客一直对正则表达式没有什么概念,求高手解疑。

Technorati : ,


本文Bard'SEO博客原创并发布,【转载须注明出处】
原文地址:http://www.bardseo.com/seo-Search-Engine-Optimization/2008/05/10/180/


将这篇文章添加到:QQ书签| 百度搜藏| 365Key| 天极网摘| 收客网| 就喜欢| 我摘


复制文章地址,推荐给你的QQ/旺旺/MSN/hi 好友



中“泛域名解析后如何301重定向?Rewrite or Redirect?”的相关内容
中“泛域名解析后如何301重定向?Rewrite or Redirect?”的相关内容
中“泛域名解析后如何301重定向?Rewrite or Redirect?”的相关内容


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表