一、200
定義:服務器已成功處理了請求;
解決:此返回碼是訪問成功的表現,不需解決。
二、301
定義:請求的網頁已被永久重定向到新地址。
解決:
1、一般301設置,會在網頁頭部代碼有所表現,代碼類似:header('HTTP/1.1 301 Moved
Permanently');,只要在所有被重定向的網頁上刪除即可。
2、linux的虛擬主機Apache的服務器,並且支持.htaccess 這個文件,很多時候301都會寫在里面,刪除即可。如:
Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^baidu.com [nc]
rewriterule ^(.*)$ http://www.baidu.com/$1 [r=301,nc]
3、window的虛擬主機IIS的服務器,在httpd.ini文件里刪除類似以下的代碼
RewriteCond Host:^AAA\.com$
RewriteRule (.*) http\://www\.AAA\.com$1 [R,I]
三、400
定義:你訪問的頁面域名不存在或者請求錯誤;
解決:
主要有兩種形式:
1、bad request意思是“錯誤的請求";
2、invalid hostname意思是"不存在的域名”。
首先先Ping一下域名,看看是否解析到空間所在的IP,如果是,再去空間的管理面板看有沒有綁定你的域名了,如果有,就可以肯定是空間提供商的問題了,解決這個問題就只能找空間提供商綁定你的域名了,如果自己有這個權限自己綁定域名就可以解決問題。
四、403
定義:資源不可用,網站訪問過程中,常見的錯誤提示。通常由於服務器上文件或目錄的權限設置導致的WEB訪問錯誤。
解決:
1、
重建dns緩存
對於一些常規的403 forbidden錯誤,馬海祥建議大家首先要嘗試的就是重建dns緩存,在運行中輸入cmd,然后輸入ipconfig /flushdns即可。如果不行的話,就需要在hosts文件里把主頁解析一下了。
同時,查看是否在網站虛擬目錄中添加默認文檔,一般默認文檔為:index.html;index.asp;index.php;index.jsp;default.htm;default.asp等。
2、
修改文件夾安全屬性
用以下命令修改文件夾安全屬性
chcon -R -t httpd_user_content_t public_html/
所用命令解析:
ls -Z -d public_html/
#顯示文件/目錄的安全語境-Z, --context
Display security context so it fits on most displays. Displays only mode, user, group, security context and file name.-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
chcon -R -t httpd_user_content_t public_html/
#修改文件/目錄的安全語境-R, --recursive
change files and directories recursively-t, --type
set type TYPE in the target security context
3、
關於apache導致的403 forbidden錯誤的解決辦法
打開apache的配置文件httpd.conf,找到這段代碼:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
有時候由於配置了php后,這里的“Deny from all”已經拒絕了一切連接。把該行改成“allow from all”,修改后的代碼如下,問題解決。
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
之所以會出現錯誤,是因為大多數的國外主機在配置Apache的時候啟用了mod_security,也就是開啟了安全檢查,如果提交的信息中包含select , % , bin等關鍵字,Apache就會禁止,並給出403,404,500等錯誤。
五、404

定義:錯誤頁面或不存在頁面,服務器無法找到請求的網頁。
解決:
1、找回被刪除的頁面,並恢復原來的鏈接;
2、設置404錯誤頁面,引導用戶訪問網站其他內容;
六、500
含義:內部服務器錯誤,服務器遇到錯誤,無法完成請求;
解決:
1、.htaccess代碼的問題。可以修改.htaccess文件的文件名試試能否訪問,如果問題解決在逐行查看.htaccess文件是否有語法錯誤。
2、文件權限問題。 查看文件權限是否為755若不是手動修改權限。
七、502
含義:服務器作為網關或者代理時,為了完成請求訪問下一個服務器,但該服務器返回了非法的應答。
解決:
1:
php-cgi進程數不夠用
vim php-fpm.conf
修改其中的2個參數,如下:
(1)在安裝好使用過程中出現502問題,一般是因為默認php-cgi進程是5個,可能因為phpcgi進程不夠用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 將其中的max_children值適當增加,這個數值是不確定的,需要我們自己算的,這個值原則上是越大越好,php-cgi的進程多了就會處理的很快,排隊的請求就會很少,減小出現502錯誤的機率。
一般來說,一台服務器的正常情況下每一個php-cgi要耗費的內存為20M左右。如果我就將此值設為80,那么也就是說大概要耗費服務器1600M內存。
查看一下當前系統中有多少個php-cgi進程在運行:
netstat -anpo | grep php-cgi | wc -l
如果這個值接近你的在配置文件里面設置的值,說明需要增加。
注:這要根據機器的實際情況而定,每個機器的硬件設施和環境不一樣。
參數為:<value name=”max_children”>80<alue>
(2)另外一個參數就是php-cgi腳本的執行時間
<value name=”request_terminate_timeout”>0s<alue>這里寫0s的意思是讓php-cgi一直執行下去,沒有時間限制。
注意:如果你做不到這一點,也就 是說你的PHP-CGI可能出現某個BUG,或者你的寬帶不夠充足或者其他的原因導致你的PHP-CGI假死那么就建議你給 request_terminate_timeout賦一個值,這個值可以根據服務器的性能進行設定。一般來說性能越好你可以設置越高,20分鍾-30分 鍾都可以。
修改完這兩個參數,重啟一下php-cgi,看是否還出現502錯誤。
2:
php執行時間長
php執行超時,修改/usr/local/php/etc/php.ini 將max_execution_time 改為300
重啟一下php-cgi,看是否還出現502錯誤。
3:
php-cgi進程死掉
殺死其進程,重啟php-cgi。
八、503
含義:服務器由於維護或者負載過重未能應答。例如,Servlet可能在數據庫連接池已滿的情況下返回503。服務器返回503時可以提供一個 Retry-After頭。
出現503有兩個原因:
1、該站點正在被攻擊。
2、程序占用線程過多,導致把所有線程全部填滿。
解決:
1.驗證是否已為虛擬服務器配置應用程序池。默認應用程序池是MSSharePointPortalAppPool。
請按照下列步驟來確定虛擬服務器正在使用的應用程序池。
a.單擊“開始”,指向“管理工具”,然后單擊“Internet信息服務(IIS)管理器”。
b.展開“ServerName”,展開“Web站點”,右鍵單擊虛擬服務器,然后單擊“屬性”。
c.單擊“主目錄”選項卡。為虛擬服務器配置的應用程序池列在“應用程序池”框中。
d.單擊“確定”。
2、驗證應用程序池帳戶使用的密碼是否正確。IIS不會自動輪詢ActiveDirectory目錄服務中的密碼更改。如果應用程序池帳戶是一個域帳戶,其密碼已過期,則在為此帳戶重新指定一個新密碼后,您可能會收到本文“症狀”部分所描述的錯誤信息。
3、驗證應用程序池帳戶是服務器上的IIS_WPG組和STS_WPG組的成員。
4、重新啟動IIS以回收應用程序池。
九、504
含義:504錯誤是(網關超時) 服務器作為網關或代理,但是沒有及時從上游服務器收到請求。正常情況下,是由於被請求服務器發送超時引起。
解決:這個問題完全是由后端電腦之間 IP 通訊緩慢而產生,可能包括您的 Web 服務器。 檢查在其控制下的不同電腦之間的 IP 數據傳輸的流通狀況。 然而,這個錯誤不易解決, 由於互聯網流通的無規律性,這種類型的錯誤是瞬態的。
原創文章,
作者:巨策網絡
常見服務器返回碼解決方案 http://www.cqjuce.comhttp://www.cqjuce.com/seo_news/58.html