博客剛開不久,會見流量正在穩(wěn)步上升,但是,從昨天開始,從搜索引擎帶來的流量驟降,讓我百思不得其解,日本游戲代理 歐洲服務(wù)器,利用google網(wǎng)站打點員東西診斷后發(fā)明,固然網(wǎng)頁返回了正確的內(nèi)容,可是HTTP中始終響應(yīng)的 404 代碼,仔細(xì)闡明后得出的結(jié)論是nginx的error_page設(shè)置出了問題!
由于小站用的是nginx+apache的構(gòu)建方法,apache放在后端處理懲罰php文件,nginx處理懲罰html、圖片的靜態(tài)文件。簡樸設(shè)置如下:
location / {
index index.php index.html;
error_page 404 @proxy;
}
location @proxy {
proxy_pass http://localhost:8080;
#8080端口安排apache處事器
}
....
#靜態(tài)文件的設(shè)置就省略了
思路很簡樸,假如在定位符”/”下找不到文件將把文件署理給apache處理懲罰。這種處理懲罰方法,乍看下沒有問題,我在欣賞器下也能正常欣賞網(wǎng)頁,不外,nginx默認(rèn)會給一個404代碼給欣賞器,這對蜘蛛的會見是致命的。大白這點后處理懲罰就很簡樸了。
將 error_page 404 @proxy; 改成 try_files $uri @proxy; 問題就辦理了。
root /path/www/$host;
location / {
index index.php index.html;
proxy_pass http://localhost:8080;
}
location ~* .(html|htm)$ {
try_file $uri @proxy;
}
location ~* .(jpg|gif|png|zip|js|css)$ {
expires 30d;
gzip on;
gzip_min_length 1024;
gzip_types text/plain application/x-javascript text/css application/xml;
}
location @proxy {
proxy_pass http://localhost:8080;
#8080端口安排apache處事器
}