Điểm:0

Điều gì sai với cấu hình NGINX viết lại URL này là do người dùng chưa đăng nhập vào WordPress?

lá cờ eg

Tôi có một cấu hình NGINX đó là phải chuyển hướng người dùng đến trang đăng nhập WordPress nếu người dùng đó chưa đăng nhập vào WordPress, nhưng nó không hoạt động chính xác. Thay vào đó, nó chuyển hướng tất cả các người dùng vào trang đăng nhập, bất kể trạng thái đăng nhập của họ là gì...

đặt $bad_uri 0;
if ($request_uri ~* ((^/trang-riêng-1/)|(^/trang-riêng-2/)|(^/trang-riêng-3/)|(^/trang-riêng-4/) )){
    đặt $bad_uri 1;
}
đặt $logged_in 0;
nếu ( $http_cookie ~* "wordpress_logged_in" ){
    đặt $logged_in 1;
}
đặt $pls_stop "$bad_uri:$logged_in";
nếu ( $pls_stop = "1:0" ){
    viết lại ^/* https://my-website.org/wp-login.php vĩnh viễn;
}

Mặt khác, tôi có một cấu hình NGINX khác làm việc chính xác. Tương tự như trên, nó được cho là cấm truy cập vào bất kỳ tệp nào trong một thư mục cụ thể, trừ khi người dùng đăng nhập vào WordPress. Cấu hình này hoạt động hoàn hảo như dự định ...

đặt $bad_uri 0;
if ($request_uri ~* ^/wp-content/uploads/_private_directory/){
    đặt $bad_uri 1;
}
đặt $logged_in 0;
nếu ( $http_cookie ~* "wordpress_logged_in" ){
    đặt $logged_in 1;
}
đặt $pls_stop "$bad_uri:$logged_in";
nếu ( $pls_stop = "1:0" ){
    trả lại 403;
}

Xem xét thực tế rằng logic cơ bản cho cả hai cấu hình thực tế giống hệt nhau, vậy thì tại sao cấu hình đầu tiên chỉ hoạt động được một nửa còn cấu hình thứ hai thì hoạt động tốt?

Ivan Shatsky avatar
lá cờ gr
Chuyển hướng vĩnh viễn HTTP 301 được hầu hết các trình duyệt lưu vào bộ đệm, điều đó có nghĩa là sau khi người dùng chưa đăng nhập truy cập trang riêng tư của bạn và được chuyển hướng, anh ta sẽ được chuyển hướng mỗi khi anh ta truy cập cùng một trang bất kể anh ta có đăng nhập hay không cho đến khi bộ nhớ cache của trình duyệt sẽ được làm trống. Thay vào đó, hãy sử dụng `rewrite ... redirect` để phát hành chuyển hướng tạm thời HTTP 302 hoặc tốt hơn là sử dụng `return 302 https://my-website.org/wp-login.php` (tránh gọi thư viện regex bất cứ khi nào bạn có thể).

Đă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.