当前位置:数据库 > Access >>

.htaccess: RewriteEngine not allowed here 解决

Author: 北北
 
# 其实这篇文章写出来是泄露了很多信息的,不过还是想把这解决过程写出来方便以后碰到同样问题的朋友吧。你们不要黑我……
 
博客服务器本身不在国内,访问量一大感觉就更慢了,做个cache应该会让程序和数据库压力小些,于是昨天装了个插件叫wp-super-cache,装完发现不能正常用,先是各种权限问题,解决之后好像是行了?
 
不过今天突然发现后台显示已缓存的文件的地方竟然只有WP-Cache在工作,WP-Super-Cache处于弱智状态……
 
仔细看了下错误日志发现是我php.ini里禁用了太多函数,开启了这些函数之后貌似工作了,不过发现有时访问会500!
 
这必须不能忍了,下决心今天必须搞定它,不管几点!
 
再看日志发现类似
 
[Tue May 01 01:17:20 2012] [alert] [client x.x.x.x] /x/x/xblog/wp-content/cache/.htaccess: RewriteEngine not allowed here
我擦,又是权限设置太死导致的,之前为了.htaccess能rewrite 已经设置了AllowOverride FileInfo 啊,咋还特么有问题呢?
 
google之,国内基本没相关内容,老外却一致建议直接修改apache配置文件AllowOverride Indexes或者All:
 
http://www.masterblanker.com/2010/03/22/wp-supercache-and-error-500/
 
http://speedforce.org/2009/01/were-back/
 
这是坑爹呢还是坑爹呢还是坑爹呢…… 设置成这样不是随便列目录了么?这几篇文章肯定坑了不少人。
 
于是打算写个类似于给子目录单独设置权限,类似:
 
<Directory /x/x/xblog/wp-content/cache>
       Options +Indexes FollowSymLinks
       AllowOverride Indexes FileInfo
</Directory>
此时/wp-content/cache 可列目录,其他目录不可列,其实这样已经可以忍了,不过我记得鬼仔也用这插件的,所以跑去看了他的
 
http://huaidan.org/wp-content/cache/
 
哎呀403,看来我还是没设置对啊,我貌似傻傻分不清楚的多写了句Options +Indexes FollowSymLinks,于是尝试只写一句AllowOverride Indexes FileInfo ,可以了……
 
apache、nginx这类东西平时都是编译安装好之后,安全方面配置一下就直接用了,其中太详细设置还真是不碰到问题就想不起来仔细研究啊,这下总算花时间仔细研究了。这就是传说中的运维么?- -
 
前面废话写太多了最终写成
 
<Directory /x/x/xblog/wp-content/cache>
       AllowOverride Indexes FileInfo
</Directory>
即可。
 
我不知道我这样设置是否有问题,就目前来看在我这个博客这里是没问题的了,如果各位牛觉得有问题请告诉我一下,先谢了!
补充:web前端 , HTML/CSS  ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,