混淆htaccess错误导致错误代码500

时间:2011-06-14 19:32:50

标签: php apache .htaccess mod-rewrite

解决

: 好。所以我已经明白了。我正在使用共享主机,主机已启用suExec。它不允许文件具有默认以外的权限(文件夹为755,文件为644等)。这是一个简单的改变权限的问题,它开始工作得很好!

非常感谢您的帮助!


问题

我为这篇长篇文章道歉。我有两个目录 - 主要目录和一个名为cms的子目录。这是主目录的.htaccess代码

Options +FollowSymLinks
RewriteEngine on

RewriteRule (.*).php - [L,QSA]
RewriteRule (.*).gif - [L,QSA]

RewriteRule ^cms$ - [L]

RewriteRule ^([^/]+)/([^/]+)/?$ index.php?page=$2 [L,QSA] 
RewriteRule ^([^/]+)(/)?$ index.php?page=$1 [L,QSA] 
RewriteRule ^(.*)(/)?$ index.php?page=home [L,QSA] 

但是,当我尝试访问类似

的内容时

http://website.com/cms/index.php,我收到500内部错误。目录中的所有文件都有正确的烫发(我甚至尝试过777无效)。我也试过改变订单,也没有运气。

我尝试过不同的组合,但没有运气。

非常感谢任何帮助。

PS。如果不够清楚,我就是一个菜鸟。


修改

行。所以我找到了错误日志,这是我在其下面看到的:

[Tue Jun 14 16:29:19 2011] [error] [client 1.1.1.1] File does not exist: /home/user/public_html/main_dir/500.shtml
[Tue Jun 14 16:29:19 2011] [error] [client 1.1.1.1] SoftException in Application.cpp:256: File "/home/user/public_html/main_folder/cms/index.php" is writeable by group

这会产生任何线索吗?

1 个答案:

答案 0 :(得分:1)

我建议设置Apache的RewriteLogLevel并检查日志是否有错误。

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriteloglevel