Nhờ giúp đỡ redirect trong nginx

Anh em nào giúp mình cái này với.

Hiện mình mới cài nginx thay cho apache.

File .htaccess có đoạn redirect như sau:
RewriteCond %{HTTP_HOST} !forums
RewriteRule ^(.*).html$ https://103.232.121.114/brti-thread-alias/$1 [R=301,L]

Nó redirect ví dụ như sau:

Truy cập vào:
http://103.232.121.114/38708-katrypsin.html

-> redirect qua:
https://103.232.121.114/threads/thuoc-katrypsin.25288/

Nhưng nginx thì ko dùng .htaccess được nữa, mà file cấu hình file .conf, mình dùng như sau:

location / {
if ($http_host !~ "forums"){
rewrite ^/(.*).html$ https://103.232.121.114/brti-thread-alias/$1 redirect;
}
}

Nhưng theo cách này thì nó redirect tầm bậy:
Truy cập vào:
http://103.232.121.114/38708-katrypsin.html

-> redirect qua: (sai)
http://103.232.121.114/brti-thread-alias/38708-katrypsin

Đa tạ!
 
Thử đoạn này xem bạn:
Mã:
server {
    server_name  103.232.121.114/38708-katrypsin.html;
    rewrite ^(.*) https://103.232.121.114/threads/thuoc-katrypsin.25288$1 permanent;
}
 
Thử đoạn này xem bạn:
Mã:
server {
    server_name  103.232.121.114/38708-katrypsin.html;
    rewrite ^(.*) https://103.232.121.114/threads/thuoc-katrypsin.25288$1 permanent;
}

Em chỉ ví dụ 1 link thôi, google & các search engine khác index rất nhiều link cũ bị lỗi như vậy.

Anh @tri78 có hiểu chỗ brti-thread-alias thì giải thích dùm với.
RewriteRule ^(.*).html$ https://103.232.121.114/brti-thread-alias/$1 [R=301,L]

Website đang chạy thực tế nè anh, sử dụng apache:
Click vào link:
thuocgoc.com/32114-cefclor-500-mg.html
sẽ redirect thành:
https://thuocgoc.com/threads/thuoc-cefclor-500-mg.18694/
 
Không hiểu ý định của bạn, nếu chỉ rewwrite thì dùng đoạn code như nãy mình đưa là OK.
 
Link lỗi có cấu trúc như vầy thuocgoc.com/abc.html, dạng link này đã được google, bing, index rất nhiều, hơn cả ngàn link, chứ ko phải 1 link duy nhất.

Hiện cái web đang chạy là apache, và dùng đoạn code trong .htaccess như bên dưới thì nó redirect đúng:
RewriteCond %{HTTP_HOST} !forums
RewriteRule ^(.*).html$ https://thuocgoc.com/brti-thread-alias/$1 [R=301,L]

Kết quả:
Khi vào các link có cấu trúc thuocgoc.com/abc.html, nó sẽ chuyển hướng thành: thuocgoc.com/threads/abc.thread_id/

Nhưng vấn đề là em đang định chuyển qua xài nginx, thì cần phải rewrite như thế nào để nó hoạt động giống như vậy? Em ko hiểu cái đoạn brti-thread-alias trong cái .htaccess có ý nghĩ như thế nào.
Cám ơn anh
 
Back
Top