Nhờ giúp đỡ redirect trong nginx

hoangcyberchem

Private
Tham gia
17/10/2015
Bài viết
7
Được Like
5
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ạ!
 

tri78

Moderator
Thành viên BQT
Tham gia
13/05/2015
Bài viết
429
Được Like
329
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;
}
 

hoangcyberchem

Private
Tham gia
17/10/2015
Bài viết
7
Được Like
5
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/
 

tri78

Moderator
Thành viên BQT
Tham gia
13/05/2015
Bài viết
429
Được Like
329
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.
 

hoangcyberchem

Private
Tham gia
17/10/2015
Bài viết
7
Được Like
5
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
 

tri78

Moderator
Thành viên BQT
Tham gia
13/05/2015
Bài viết
429
Được Like
329
À, hàng ngàn link luôn. Vụ này chưa nghiên cứu :D
 

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Telegram: anhanhxf

Chỉ nhận web nội dung lành mạnh

Nhà Tài Trợ

Mút Xốp Không Gian
Mút Sofa Không Gian
Top Bottom