[英]update-php class causing 500 internal server error
更新-现在apache没有给出任何错误。 我也很早就看到了。 99%次它将引发错误500。请参阅此屏幕截图。 它根本没有显示任何错误。
我不知道如何解决这个问题。 有时过后它将再次开始显示
我创建了一个页面,当我们打开该页面时似乎是正常页面,但是在chrome和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并添加类,则不会出错。我无法在mobile-under-10000中添加php类,因为该类不允许-但我确实需要该名称作为其seo友好。 如果我创建这样的页面,它可以工作,但是我只能在类名中选择一个单词。 我有成千上万的链接,可以正常工作,但给500错误。
<?php
class samplelink {
function index() {
echo 'write something';
}
}
?>
任何解决的想法都会很棒。 我有一个选项可以强制Apache停止抛出500 error.But明智的选择? 我正在用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]
如果您的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
有一些奇怪的行为,但是没有任何潜在的致命问题htaccess
我。
一些要点:
reWriteEngine On
3次,这可能会导致错误,因此可以删除两次。 我已经重新组织了您的代码,因此:
<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]
如果达到,最后一行将返回一个Forbidden标头结果(403),这似乎是很费力的响应,可能是不必要的响应。
我也质疑leechProtect
声明,但对它的了解不足以进一步提供建议。 但是,请使用上面的代码,然后检查您的网站每行的注释( #comment
),然后清除浏览器缓存(每次,因为浏览器缓存htaccess规则),并查看注释其中的某些请求是否导致网站不返回500
错误。
祝好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.