Cách chuyển Redirect Url 301 sang domain mới


(Nam Nguyen) #1

Mình có cài Let’s Encrypt SSL tren hocvps giờ mình muốn chuyển toàn bộ url sang domain mới những không thể nào Redirect url cũ dạng https://olddomain sang https/newdomain. Mình có thêm đoạn
server {
server_name .olddomain.com;
return 301 http://newdomain.com$request_uri;
}
Nhưng khi gõ www.olddomain thì ok nhưng gõ https://olddomain thì khô chuyển hương
nhờ các bác chỉ giúp


(Việt Phương) #2

Phần trên bạn mới chỉ set cho HTTP. Bạn phải set cả redirect HTTP, tức bạn làm 1 block 443 tương tự. Ví dụ làm 1 block chỉ để redirect

server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name abcyxyz
return 301 https://www.example.com$request_uri;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.example.com;
}


(Nam Nguyen) #3

mình đã theme 2 block vào cuối file nginx conf nhưng vẫn ko ok. Nhờ bạn kiểm tra giúp

server {
listen 443 ssl http2;
server_name www.tenmiencu.net;

# SSL
ssl_certificate /etc/letsencrypt/live/tenmiencu.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tenmiencu.net/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on; 
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
rewrite ^(.*) https://tenmiencu.net$1 permanent;

}

server {
listen 80;

server_name .tenmiencu.net;
rewrite ^(.*) https://tenmiencu.net$1 permanent;

}

server {
listen 443 ssl http2;

	# access_log off;
access_log /home/tenmiencu.net/logs/access.log;
	# error_log off;
	error_log /home/tenmiencu.net/logs/error.log;

	root /home/tenmiencu.net/public_html;
index index.php index.html index.htm;
	server_name tenmiencu..net;

# SSL
ssl_certificate /etc/letsencrypt/live/tenmiencu.net/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tenmiencu.net/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_prefer_server_ciphers on; 
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

    # Improve HTTPS performance with session resumption
    ssl_session_cache shared:SSL:50m;
    ssl_session_timeout 1d;

    # DH parameters
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    # Enable HSTS
    add_header Strict-Transport-Security "max-age=31536000" always;

		
# Custom configuration
include /home/tenmiencu.net/public_html/*.conf;

	location / {
	try_files $uri $uri/ /index.php?$args;
}

	location ~ \.php$ {
	fastcgi_split_path_info ^(.+\.php)(/.+)$;
    	include /etc/nginx/fastcgi_params;
    	fastcgi_pass 127.0.0.1:9000;
    	fastcgi_index index.php;
	fastcgi_connect_timeout 300;
	fastcgi_send_timeout 300;
	fastcgi_read_timeout 300;
	fastcgi_buffer_size 32k;
	fastcgi_buffers 8 16k;
	fastcgi_busy_buffers_size 32k;
	fastcgi_temp_file_write_size 32k;
	fastcgi_intercept_errors on;
    	fastcgi_param SCRIPT_FILENAME /home/tenmiencu.net/public_html$fastcgi_script_name;
	}

location ~ /\. {
	deny all;
}

location = /favicon.ico {
	log_not_found off;
	access_log off;
}

location = /robots.txt {
	allow all;
	log_not_found off;
	access_log off;
}

location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ {
	gzip_static off;
	add_header Pragma public;
	add_header Cache-Control "public, must-revalidate, proxy-revalidate";
	access_log off;
	expires 30d;
	break;
    }

    location ~* \.(txt|js|css)$ {
        add_header Pragma public;
	add_header Cache-Control "public, must-revalidate, proxy-revalidate";
	access_log off;
	expires 30d;
	break;
    }

}
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
server_name .tenminecu.net;
return 301 https://tenmienmoi.net$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.tenmiencu.net;
return 301 https://tenmienmoi.net$request_uri;

}


Giúp đổi tên miền cũ sang mới
(Việt Phương) #4

Vẫn còn block trên mà nó không conflict nhau à?


(Nam Nguyen) #5

Vẫn không chuyển được từ https:///odldomain sang https://newdomain


(Việt Phương) #6

Block ý bạn đang cho xem web chứ bạn có cho nó redirect đâu. Bạn nhìn lại cái block này đi
server {
listen 443 ssl http2;
root /home/tenmiencu.net/public_html;
server_name tenmiencu…net;
}


(Nam Nguyen) #7

Cám ơn bạn rất nhiều mình đã fix ok


(Việt Phương) #8

okie bạn :smiley: