2016-09-14 126 views
0

更新 - 现在apache没有给出任何错误。我之前也见过这个。 99%的时间会抛出错误500。它根本没有显示任何错误。update-php类导致500内部服务器错误

http://imgur.com/a/vYwtA

我不知道如何解决这个问题。它会再次开始显示有时后

我已经创建了一个页面,当我们打开时,似乎是正常的页面,但在铬和mozilla它给出了错误。

 Failed to load resource: the server responded with a status of 500 (Internal Server Error) 

http://imgur.com/a/macb7
页面http://xxxxxx.com/mobile-under-10000

和我发现,如果我改变链接的名称http://xxxxxxx.com/mobile并添加类它没有给error.i不能在添加PHP类移动下-10000因为班级不会允许 - 但我真的需要这个名字作为它的seo友好。 如果我创建这样的页面,它的作品,但我不得不在类名中只选择一个单词。我有成千上万的链接工作正常,但给500错误。

<?php 
class samplelink { 
    function index() { 
echo 'write something'; 
    } 
} 
?> 

任何想法解决将是伟大的。我有一个选项强制apache停止投掷500错误。但这是明智的?我正在使用nginx与Apache。

请指教

我的.htaccess代码是

RewriteEngine on 
RewriteCond ${LeechProtect:/home/xxxxxx/public_html:%{REMOTE_USER}:%{REMOTE_ADDR}:10} leech 
RewriteRule .* http://xxxxxx.com 
<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^([0-9a-z_/\-]+)/$ index.php\?p=$1 [QSA] 
RewriteRule ^([0-9a-z_/\-]+)$ index.php\?p=$1 [QSA] 
</IfModule> 


RewriteRule ^.* - [F,L] 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.xxxxx\.com$ [NC] 
RewriteRule ^.*$ http://xxxxxx.com%{REQUEST_URI} [R=301,L] 
+2

阅读。错误。日志。 –

+0

@u_mulder对不起,我没有提到错误登录问题。我检查了apache和nginx的错误日志。没有东西 – Steeve

+0

向我们展示您的网站树。你有一个名为'mobile-under-10000'的文件夹,里面有一个包含这个类的'index.php'? –

回答

0

如果你的Apache, PHP/MySQL错误日志是空的,然后有一个非常强的情形产生的问题是由.htaccess/httpd.conf引起因此请检查这些文件是否存在不一致。

,我发现,如果我改变链接到http://way2enjoy.com/mobile名称,添加类它没有给出错误

这强烈表明您已经无法正常在.htaccess转义字符。

编辑

这些行:

RewriteRule ^([0-9a-z_/\-]+)/$ index.php\?p=$1 [QSA] 
RewriteRule ^([0-9a-z_/\-]+)$ index.php\?p=$1 [QSA] 

可以重写,完全转义为:

RewriteRule ^([0-9a-z_\/\-]+)/?$ index.php\?p=$1 [QSA] 

有一些是在你的htaccess好奇行为但没有跳出我作为潜在的致命问题。

几点:

  • 幽州reWriteEngine On三个你htaccess的时间,这可能会导致一个错误,这样你就可以删除两次。

我已经重新组织你的代码,以便:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^([0-9a-z_\/\-]+)/?$ index.php\?p=$1 [QSA] 

RewriteCond ${LeechProtect:/home/xxxxxx/public_html:%{REMOTE_USER}:%{REMOTE_ADDR}:10} leech 
RewriteRule .* http://xxxxxx.com 

RewriteCond %{HTTP_HOST} ^www\.xxxxx\.com$ [NC] 
RewriteRule ^.*$ http://xxxxxx.com%{REQUEST_URI} [R=301,L] 
</IfModule> 

RewriteRule ^.* - [F,L] 

最后一行返回紫禁城头的结果(403),如果是以往任何时候都达到了,这似乎是相当重手,并可能unnessecary响应。

我也质疑leechProtect声明,但不知道进一步建议。但使用上面的代码,然后检查您的网站每行注释(#comment),然后清除您的浏览器缓存(每次,作为浏览器缓存htaccess规则),看看是否注释掉这些请求中的一部分导致网站不返回500错误。

祝你好运。

+0

更新........ – Steeve

+0

@Steeve我已经更新了我的答案。 – Martin

+0

感谢您的时间和help.trying。 thx for ur good luck] – Steeve

相关问题