Quy tắc ghi lại nginx sẽ chuyển hướng cấu trúc liên kết cố định wordpress của tôi từ /%category%/%postname%/
thành /%postname%/
là gì?Quy tắc viết lại NGINX để nhận URL sạch
Trả lời
tôi đã tìm thấy bài viết này hữu ích về chủ đề đó: clean urls in nginx
Cuộn xuống "The Touch Hoàn - SEF URL" để xem làm thế nào nó có thể dễ dàng thực hiện.
Chúc mừng.
Tóm lại, bạn cần cho NGINX biết rằng nếu tệp đó không tồn tại, không được ném lỗi 404, nhưng thay vào đó hãy gọi index.php
. Wordpress đủ thông minh để phân tích cú pháp URL dưới dạng tham số và phân phát trang chính xác.
Thêm đoạn này trong khối cấu hình máy chủ của bạn:
location/{
try_files $uri $uri/ /index.php?$args;
}
Đây là một ví dụ hoàn chỉnh từ nginx.org:
# Upstream to abstract backend connection(s) for php
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
server {
## Your website name goes here.
server_name domain.tld;
## Your only path reference.
root /var/www/wordpress;
## This should be in your http block and if it is, it's not needed here.
index index.php;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location/{
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass php;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
Lưu ý rằng "liên kết cố định không mặc định" cũng bao gồm các liên kết danh mục. Trong thiết lập ban đầu của tôi dòng này đọc 'try_files $ uri $ uri/= 404'; thay thế '= 404' bằng' /index.php? $ args' là bước cần thiết để liên kết danh mục của tôi hoạt động trở lại. – rsfinn
- 1. Thêm dấu gạch chéo để cuối mỗi url (cần viết lại quy tắc cho nginx)
- 2. Nginx quy tắc viết lại với proxy vượt qua
- 3. Quy tắc viết lại nhiều trang WordPress trong Nginx
- 4. URL nginx viết lại bằng regex âm?
- 5. nginx subdomain viết lại
- 6. quy tắc viết lại htaccess với mod_GeoIP
- 7. Viết lại nginx cho pushState-URL
- 8. quy tắc ghi lại nginx trong thư mục con
- 9. Xóa tham số trong nginx viết lại
- 10. Quy tắc viết lại nginx phức tạp cho các tên miền phụ
- 11. Làm cách nào để cấu hình các quy tắc viết lại nginx để có được CakePHP hoạt động trên CentOS?
- 12. Viết lại quy tắc để phát hiện số chỉ
- 13. Viết lại quy tắc để thêm phần mở rộng .html
- 14. cập nhật quy tắc viết lại url với việc chuyển đổi web2012 triển khai web2012
- 15. Quy tắc viết lại URL IIS7 của tôi tiếp tục biến mất
- 16. URL ghi lại các quy tắc gửi đi IIS7
- 17. "làm sạch" kết quả trong "Không có quy tắc để làm cho mục tiêu" sạch ""
- 18. Quy tắc viết lại Haskell và thành phần chức năng
- 19. Giải thích trên WordPress' viết lại quy tắc
- 20. Viết lại các URL và URL với mô-đun viết lại IIS 7
- 21. IIS 7.5. Không thể vô hiệu hóa quy tắc viết lại Url (Tôi đã xóa các quy tắc nhưng chúng vẫn ảnh hưởng)
- 22. viết lại url cho tên sản phẩm
- 23. Nginx viết lại chỉ khi tên miền gốc
- 24. Tại sao tôi nhận được 500 khi tôi thêm quy tắc viết lại vào Web.config của mình trong Azure?
- 25. Apache viết lại quy tắc mà làm việc có hoặc không có một dấu gạch chéo
- 26. Viết lại URL PHP
- 27. Viết lại Url IIS7 - Tôi có thể sử dụng stopProcessing = "false" với Quy tắc chuyển hướng không?
- 28. Quy tắc ghi đè Apache để chuyển hướng tất cả yêu cầu đến thư mục con chứa các quy tắc khác .htaccess và viết lại
- 29. Ký tự đặc biệt & Viết lại URL
- 30. Cần giúp đỡ chuyển đổi Apache2 quy tắc Rewrite để nginx
Cảm ơn, bài viết rất hữu ích – Joel
Cảm ơn, có cùng một vấn đề –