Điểm:1

Nginx tắt chuyển hướng https cho uri 404+http

lá cờ jp

Tôi có chuyển hướng HTTPS trong nginx.conf

  1. Nhưng nếu URI được yêu cầu là HTTP và 404 - tôi không cần chuyển hướng. Có giải pháp nào cho cấu hình cụ thể này không?

  2. Ngoài ra còn có khả năng tắt chuyển hướng HTTPS + www cho các liên kết 404 như http://www.test.com

  3. Nếu không thể thực hiện được điểm 1 hoặc 2, tôi có thể mã hóa cứng danh sách các URL 404 bằng nginx để tắt hoàn toàn mọi chuyển hướng cho chúng và chỉ hiển thị trang 404 không? (HTTPS và www)

WordPress + Nginx (+Vestacp)

người phục vụ {
    nghe x.x.x.x:80;
    server_name test.com www.test.com;
    gốc /home/admin/web/test.com/web/;
    chỉ mục index.php index.html index.htm;
    access_log /var/log/nginx/domains/test.com.log kết hợp;
    access_log /var/log/nginx/domains/test.com.bytes byte;
    error_log /var/log/nginx/domains/test.com.error.log lỗi;
    trả lại 301 https://test.com$request_uri;
}
lá cờ sv
Nó có thể được thực hiện cho nội dung tĩnh. Đối với ứng dụng động, chẳng hạn như WordPress, có thể không thực hiện được. Bạn chạy ứng dụng hoặc loại ứng dụng nào trong trường hợp cụ thể này? Tĩnh hay động?
allwillburnn avatar
lá cờ jp
Wordpress + Nginx
Điểm:0
lá cờ sv

Chào mừng đến với ServerFault.

Nhưng nếu URI được yêu cầu là HTTP và 404 - tôi không cần chuyển hướng. Là có giải pháp nào cho cấu hình cụ thể này không?

Tôi không biết làm thế nào để làm điều này. Tôi không chắc chắn nếu nó thậm chí có thể.

Ngoài ra còn có khả năng tắt chuyển hướng HTTPS + www cho 404 liên kết như http://www.test.com

Tôi không hiểu câu hỏi này.

Nếu không thể thực hiện được điểm 1 hoặc 2, tôi có thể mã hóa cứng danh sách các URL 404 bằng nginx để tắt hoàn toàn mọi chuyển hướng cho họ và chỉ hiển thị 404 trang? (HTTPS và www)

Điều này là khả thi. Giả sử chúng ta có danh sách các tập tin tại /home/admin/web/test.com/web/404.conf theo định dạng sau...

/aboutt-us/ 404;
/about-uss/ 404;
/liên hệ với chúng tôi/ 404;
/liên hệ với chúng tôi/ 404;

Thay vì văn bản "404", chúng tôi có thể có bất kỳ thứ gì ngoại trừ "0" (không).

Cấu hình sửa đổi sẽ trông như thế này ...

bản đồ $uri $allwillburnn { bao gồm /home/admin/web/test.com/web/404.conf; }

người phục vụ {
    nghe x.x.x.x:80;
    server_name test.com www.test.com;
    gốc /home/admin/web/test.com/web/;
    chỉ mục index.php index.html index.htm;
    access_log /var/log/nginx/domains/test.com.log kết hợp;
    access_log /var/log/nginx/domains/test.com.bytes byte;
    error_log /var/log/nginx/domains/test.com.error.log lỗi;
    nếu ( $allwillburnn ) { return 404; }
    trả lại 301 https://test.com$request_uri;
}

Giải thích: Theo mặc định, đối với bất kỳ URL nào không được liệt kê ở trên 404.conf tệp, biến có tên $allwillburnn được gán cho giá trị 0 (không) bởi bản đồ. Trong trường hợp này, nếu khối bị bỏ qua, dẫn đến chuyển hướng 301.

Đối với các URL được liệt kê trong 404.conf tập tin, $allwillburnn được gán cho giá trị khác không. Trong trường hợp này, nếu khối được phân tích cú pháp, kết quả là 404.

Tôi hy vọng điều đó sẽ hữu ích.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.