通过修改.htaccess文件解决重定向的问题

本站原博客目录被GFW认证后打开原来的搜索结果墙内都会出现连接被重置,而墙外(含翻墙者)访问则出现404错误,解决方法是对原来的访问链接进行重定向。

使用空间自带的cPanel可以实现重定向的设置,不过存在一些小问题,我们可以在其结果的基础上做一些小改动。

比如我要把http://www.lordong.net/blog/*重定向到/wp/*,cPanel的结果是:
RewriteCond %{HTTP_HOST} ^lordong.net$ [OR]
RewriteCond %{HTTP_HOST} ^www.lordong.net$
RewriteRule ^blog\/\/?(.*)$ "http\:\/\/lordong\.net\/wp\/$1" [R=301,L]

这时所有的搜索结果通过墙外访问时都会由blog重定向到wp目录,也就是可以继续访问了。问题是如果直接输入http://www.lordong.net/blog(不以“/”结尾的情况)会显示出错,而在cPanel里又不能直接再添加这一项。

因此我们改为手动修改.htaccess文件(cPanel的设置会写到这个文件),最终结果如下(把两行RewriteCond合并):
RewriteCond %{HTTP_HOST} ^(www.)?lordong.net$
RewriteRule ^blog$ /wp/ [R=301,L]

RewriteCond %{HTTP_HOST} ^(www.)?lordong.net$
RewriteRule ^blog/(.*)$ /wp/$1 [R=301,L]

通过这样修改后原来在Google Reader中订阅http://www.lordong.net/blog/feed的用户又可以继续看到新的文章了。不过如果是墙内的Reader还是被重置。

另外昨天做的“把博客的Feed托管到其它服务”,由于使用了FeedBurner FeedSmith插件,导致FeedSky源Feed被转向到FeedBurner,而后者的结果Feed是被墙的,所以FeedSky总是更新失败,禁用这个插件就解决了。

Tags:

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。