网站出现500错误的原因

今天博客部分时间不能访问的原因不是因为ip被封或是当机了,原因是虚拟主机的服务商在今天加装了suPHP安全程序。本来客服说的20号装,而我们国内才19号,时差导致了我的失误,没有提前做好修改文件夹的准备。说是这种出错的原因在国外的主机上出现的情况还是比较普遍的。比如流行的LunarPages、我正在使用的webhostingpad等主机等。

服务器装了suPHP之后,一般会和.htaccess以及网站中的文件夹产生“矛盾”,导致网站不能访问,并出现”Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.”这种提示。如何解决了?

比如我的博客程序用的是wordpress程序,那么wp的.htaccess如果没有自己添加php_values 和 php_flags,一般就不需要改动了。此时,你只需要用ftp软件,或者使用cpanel控制面板,进入“文件管理器”,在你需要更改的文件夹上点击右键,把你的博客的所有文件夹权限改为755就行了;如果这些文件夹还保持777的权限状态,出错误是必然的。这里说的使所有文件夹,而不是所有文件的权限状态,我在登陆wp后台时,网站直接返回了404错误,将wp-admin文件夹的权限改为755后,就可以正常登陆后台了。如果你的.htaccess文件中包含php_values 和 php_flags,那么你必须把它移动到php.ini中去。

其他的程序和wordpress文件夹设置方法一样,安装了suPHP的服务器,755状态下的权限和未装的服务器777权限是一样的。在这些服务器上装程序时,最好就不要修改你的文件夹权限为777了,修改了还可能出问题。以下是几个解决此问题的要点,供参考。

 1.关于文件夹权限

  很多程序,例如Discuz需要修改某些文件夹的权限为777,但是LunarPages等装了suPHP的空间上不需要按照这些要求操作,因为LunarPages使用suPHP,通过属主身份来运行PHP,不需要修改文件夹权限就有写入权限。如果修改了反而会有安全问题或者是其他问题。

  2.关于.htaccess文件

  在.htaccess文件中不能包含php_values 和 php_flags,否则会出现500错误,如果有这样的语句,需要移动到php.ini,然后在.htaccess文件中添加

  suPHP_ConfigPath /home/username/public_html

  3.不能通过临时网址运行PHP文件

  购买这些空间后,当域名还没有生效之前,suPHP不能通过临时网址运行ASP、PHP等动态文件,否则会出现500错误.一定要等域名解析生效以后用域名来访问安装网站.

阅读:3,786 次

1 Comment »

  1. Comment by 双色球

    好。不错

RSS feed for comments on this post. TrackBack URI

Leave a comment

If you want to leave a feedback to this post or to some other user´s comment, simply fill out the form below.

(required)

(required)