Apache重定向

为了方便,在配置Host Records的时候,把所有的主机名都指向了vps的ip。这样,即使没有在httpd.conf中定义virtual host的目录,也会打开主站点。可是这样有一个弊端,比如输入 home.unixoss.com这样也会打开博客,但是地址栏显示的是http://home.unixoss.com这样一个服务器中并没有定义的主机。更悲剧的是,搜索引擎也会显示多个域名,很是混乱。 这时就需要对Apache服务器进行301重定向设置,来自动重定向到首选域名。

一种方法就是修改程序目录下的 .htaccess 文件,drupal本身就带有这个文件,直接添加之:

# 301 To redirect to http://unixoss.com/
RewriteEngine On #打开rewrite功能
RewriteCond %{HTTP_HOST} !^unixoss\.com$ [NC] #条件:客户端发送的http请求中不是以unixoss.com开头,NC为不区分大小写
RewriteRule ^(.*)$ http://unixoss.com/ [L,R=301] #匹配条件为没有换行符,并且重定向到http://unixoss.com/ ,L为立即停止,R指301重定向。

mod_rewrite工作方式:

保存后,并没生效,打开httpd.conf,发现mod_write模块已经加载了,但是在博客目录配置中AllowOverride为None,改为All,重启apache。

 

文章来源:UnixOSS.com

转载请保留出处。

posted on 2011-12-18 01:05  Candyroot  阅读(507)  评论(0编辑  收藏  举报