Posts Tagged ‘wordpress’

URL Rewrite解决安装访问安装在根目录的WordPress的子目录出现404的问题

我真不知道这个题目应该怎么写了,呵呵。

问题是这样的,今天装了Open Web Analytics(OWA)后,出现OWA无法用的问题。用Firebug查看网络请求发现OWA请求位于/wp-content/plugins/owa目录中,而直接访问这个目录会出现404错位,因为我的wordpress是装在/b/目录下的,由.htaccess来实现wordpress在根目录中访问。wordpress默认的url-rewrite是这样:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

根据Apache的文章可知,RewriteRule的意思是把所有的请求都给index.php处理。

那么要解决我的问题,我应该添加一条规则

RewriteRule ^wp-content/(.*)$ /b/wp-content/$1 [R]
这样完整的规则是:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wp-content/(.*)$ /b/wp-content/$1 [R]
RewriteRule . /index.php [L]
# END WordPress

可是这样依然无法访问。原因是Apache会遍历每一个规则。查看了《Apache中 RewriteRule 规则参数介绍》一文,重点是这个: 'last|L'(结尾规则) 立即停止重写操作,并不再应用其他重写规则。它对应于Perl中的last命令或C语言中的break命令。 这个标记用于阻止当前已被重写的URL被后继规则再次重写。 例如,使用它可以重写根路径的URL('/')为实际存在的URL(比如:'/e/www/')。 所以,最终的.htaccess应该这样写:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wp-content/(.*)$ /b/wp-content/$1 [R,L]
RewriteRule . /index.php [L]
# END WordPress

以后再出现这种在wordpress安装目录下子目录无法访问的情况就类似的这样解决。

Fix WordPress default .htaccess and 401 error

I encourted a problem that I couldn't see the dialog for my password protected pages. The problem was caused by WordPress default .htaccess file which redirect 401 page to 404 page. The more detail can be found here (http://www.andrewrollins.com/2008/01/22/wordpress-and-htaccess-password-protected-directories/)

I've tried three methods the article said and only found the last one is OK. I created a 401 page and put this line into .htaccess and every went well.

ErrorDocument 401 /401.shtml

I didn't know the reason for the failure of another two failed because my new hosting server is LiteSpee which may not fully compatible with Apache.

不得已又换回来了

前天换了个好看的主题Atahualpa,功能是相当的强大,可选的东西太多了。但是郁闷的是页面开始变得很臃肿,在大刀阔斧的优化了一番以后,在Firefox里面跑得很快了,但IE的载入速度依然不理想,应该更准确的说是抓狂。优化原则是把大部分的css和js都放到页面最后,Firefox可以也快的浏览到页面内容,大概就5s以下就能看到内容。但那个破IE,我用IE WebDeveloper看了看载入,搞了半天IE把所有的东西载入完成了再显示页面的……是说那么慢。还有什么优化的措施么?

无奈最后俺的技术有限,还是换回了老得Gear主题,有时间再来折腾这个玩意儿了。

导入博客,累死了~

晚上把以前CSDN的博客文章上有意义的部分全部转过来了,这年头CSDN的博客弄得乱七八遭的,不知道是谁开发的。CNBLOGS上面的日志我也有想法导过来,结果把我害了。

CNBLOGS博客上面有一个导出功能,然后会把文章评论等等全部保存为一个类似于RSS的文件。然后在Wordpress里面选择导入RSS,上传一个文件,就导入了,连选择导入的文章的功能都没有,这点Wordpress让我很失望。开始我还兴高采烈的看着N多导入成功,后来一看文章才傻眼了。摘要显示全不正确, Read More

博客增加回复邮件通知功能

最近一直在调整和增强博客的功能。我一直想给博客增加邮件通知的功能,免得自己每天都要回复邮件,粘贴复制很不方便。无奈以前的服务器不支持这样的技术。新的主机支持邮件发送功能,借助wordpress强大的插件体系又帮了我一把。

因为从网络上了解到很多插件和iNova主题不兼容,我最终选择装的邮件插件是Mail To Commenter。后台的配置很简单,很实用,非常感谢作者的辛勤劳动。改明儿学了php自己也可以做一个需要的插件,哈哈。

要得到我的邮件通知,请留下你的email哦:)