博客剛開不久,會見流量正在穩步上升,但是,從昨天開始,從搜索引擎帶來的流量驟降,讓我百思不得其解,日本游戲代理 歐洲服務器,利用google網站打點員東西診斷后發明,固然網頁返回了正確的內容,可是HTTP中始終響應的 404 代碼,仔細闡明后得出的結論是nginx的error_page設置出了問題!
由于小站用的是nginx+apache的構建方法,apache放在后端處理懲罰php文件,nginx處理懲罰html、圖片的靜態文件。簡樸設置如下:
location / {
index index.php index.html;
error_page 404 @proxy;
}
location @proxy {
proxy_pass http://localhost:8080;
#8080端口安排apache處事器
}
....
#靜態文件的設置就省略了
思路很簡樸,假如在定位符”/”下找不到文件將把文件署理給apache處理懲罰。這種處理懲罰方法,乍看下沒有問題,我在欣賞器下也能正常欣賞網頁,不外,nginx默認會給一個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處事器
}