開發網站時,一般情況下都會將帶www的網址訪問時默認跳轉到不帶www的,或者將不帶www的跳轉到帶www的,比如輸入xxxx.com服務器收到請求后告訴瀏覽器頁面被移到www.xxxx.com了,然后瀏覽器就會請求www.xxxx.com從而把用戶帶到另一個頁面,這種行為叫做301重定向,意思是頁面永久性被移走,這種方式對搜索引擎比較友好,可以將對應頁面的權重進行轉移,301重定向和頁面跳轉不一樣,頁面的跳轉屬於302重定向,就是告訴瀏覽器頁面被暫時性移走;這兩種重定向本質上都是在瀏覽器http響應頭中添加對應信息實現的,下面說一下nginx服務器實現301重定向的方式
在nginx安裝目錄下執行 vim conf/nginx.conf 打開配置文件,之前說過server {}這樣的代碼段是用來配置站點的,我們直接在配置文件中添加如下一段代碼即可實現:
server { listen 80; server_name xxxx.com; rewrite ^/(.*) http://www.xxxx.com/$1 permanent; }
這段配置的意思就是對於請求xxxx.com都重定向到www.xxxx.com,並且攜帶所有路徑和參數定向,比如訪問xxxx.com/abc?name=nginx那么會跳轉到www.xxxx.com/abc?name=nginx,跳轉過程並不會丟失參數

以上就是在nginx上配置301重定向的過程
