2016-09-14 123 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

相關問題