Apache,lighttpd, ASP, PHP, JavaScript等实现301重定向的方法。要求是,不仅是首页url的重定向,整个网站里第一个url都要能重定向到对应的页面上,而不会出现404 page not found。而事实上,网上教你301重定向的方法的,基本上都是首页的重定向,所以没有意义。几种301重定向实现方法的利弊:
ASP:
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,http://wwwapi.org
Response.End
PHP:简单,但是它只能实现文件的跳转,目录就不行了,代码如下:
header(“HTTP/1.1301Moved Permanently”);
header(“Location:http://wwwapi.org”);
exit();
JavaScript:简单,但会被搜索引擎惩罚,放弃。
DNS:这个就是转发了,只能定向首页,无用。
Apache:很完美,规则就一句:
RedirectMatch permanent ^/(.*)$ http://wwwapi.org/$1
直接把这句话放网站根目录下的.htaccess里就行了。
以上所有方法都不能满足我的要求,而且我不想换回apache,只能去探索Lighttpd的方法了。还好,没多会就找到了,也是一句话:
$HTTP[“host”] == “www.old.com|old.com” {
url.redirect = (
“^/(.*)” => “http://wwwapi.org/$1”,
)
}
好了,关键是这句话放在什么地方,Lighttpd是没有.htaccess文件的,只能放在/etc/lighttpd /lighttpd.conf里面。这时候要注意,如果你的lighttpd.conf里面有rewrite规则的话,有可能不成功,要把上面的 redirect规则放在这个文件的最前面。保存文件后在终端重启Lighttpd:
service lighttpd restart
网站301重定向,转移权重-apache,lighttpd, ASP, PHP, JavaScript等实现301重定向的方法
评论0