nginx中域名、目錄的301重定向配置示例
301重定向不陌生, 有時候有需求把某目錄整個重定向到一個二級域名,或者不帶www的頂級域名請求全部重定向到帶www的二級域名.如果是Apache,需要配置.htaccess,nginx不支持,需要在配置文件里面使用rewrite指令來實現(xiàn)。
頂級域名重定向到www
server {
server_name jb51.net;
rewrite ^/(.*)$ http://www.dbjr.com.cn/$1 permanent;
}
如上配置,所以jb51.net的請求都會重定向到www.dbjr.com.cn,301重定向?qū)EO很有幫助.這個配置大家用的最多。
www二級域名重定向到頂級域名
server {
server_name www.dbjr.com.cn;
rewrite ^/(.*)$ http://domain.com/$1 permanent;
}
江湖盛傳頂級域名的權(quán)重會比www二級域名的權(quán)重高,有些seoer會要求運(yùn)維一定要把www的請求轉(zhuǎn)到頂級域名,和上面的做法相反。
目錄重定向
if ( $request_filename ~ nginxjiaocheng/ ) {
rewrite ^ http://www.dbjr.com.cn/nginx/? permanent;
}
目錄跳轉(zhuǎn)新域名
if ( $request_filename ~ nginx/ ) {
rewrite ^ http://nginx.jb51.net/? permanent;
}
nginx這個欄目太火了,打算專門弄一個域名。
附:域名之間的301跳轉(zhuǎn)和測試方法
一、相同根域名與子域名之間的跳轉(zhuǎn)
第一種情況:訪問根域名重定向到www子域名 (Vhost 通常綁定了多個域名,這樣做可以精確定位到某個域名,不會造成非本域名跳轉(zhuǎn)到本域名的情況)
server {
server_name www.dbjr.com.cn jb51.net;
if ($host = 'jb51.net' ) {
rewrite ^/(.*)$ http://www.dbjr.com.cn/$1 permanent;
}
二、不同域名間的301跳轉(zhuǎn)
第一種情況:訪問A站定向到B站
server_name www.dbjr.com.cn;
rewrite ^(.*) http://www.dbjr.com.cn$1 permanent;
}
第二種情況:不是訪問A站的全部重定向到指定頁面
server_name www.dbjr.com.cn;
if ($host != 'jb51.net') {
rewrite ^/(.*)$ http://www.dbjr.com.cn/$1 permanent;
}
}
如果寫在第一個server段
使用IP訪問時也將被重定向
301重定向狀態(tài)在線檢測工具:http://web-sniffer.net/
返回了這句才算是301重定向成功:
相關(guān)文章
Nginx HTTP:413 Request Entity Too Large解決方法
這篇文章主要介紹了Nginx HTTP:413 Request Entity Too Large解決方法,這個問題需要修改PHP配置以及Nginx配置才可以解決,需要的朋友可以參考下2015-07-07Mac環(huán)境Nginx配置和訪問本地靜態(tài)資源的實現(xiàn)
這篇文章主要介紹了Mac環(huán)境Nginx配置和訪問本地靜態(tài)資源的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09