Tôi đang cố gắng dọn sạch các quy tắc viết lại nginx của mình cho diễn đàn Diễn đàn của tôi có một số sửa đổi và phần mềm bổ sung trong cùng một trang web gây ra sự cố. Tôi có những thứ hoạt động như bình thường, nhưng theo nginx If is Evil, tôi lo ngại và muốn thử và chuyển đổi một vài quy tắc này thành try_files thay thế.
Hiện tại, có
Một quy tắc cho các hình ảnh và tệp tĩnh để chúng không được chuyển sang mod seo (ví dụ: .gif, .ico, thậm chí .css)
Một quy tắc cho mobiquo thư mục con còn được gọi là: plugin tapatalk. Để làm việc đó, tôi phải loại trừ toàn bộ thư mục khỏi việc viết lại.
Nếu tập tin không tồn tại. Tôi không chắc nó quan trọng như thế nào, nhưng có vẻ như đó là một ý tưởng tốt. Có lẽ đó là để hạ thấp công việc của mod seo.
Các quy tắc viết lại nginx ở dạng khối Nếu có rủi ro rõ ràng:
cái này ở trên / forum / block vì tôi muốn ưu tiên nó, nếu điều này được thực hiện không đúng cách tôi rất muốn biết.
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
# Some basic cache-control for static files to be sent to the browser
expires max;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location /forum/ {
try_files $uri $uri/ /forum/dbseo.php?$args;
if ($request_uri ~* ^/forum/mobiquo) {
break;
}
if (-f $request_filename) {
expires 30d;
break;
}
if ($request_filename ~ "\.php$" ) {
rewrite ^(/forum/.*)$ /forum/dbseo.php last;
}
if (!-e $request_filename) {
rewrite ^/forum/(.*)$ /forum/dbseo.php last;
}
}
KẾT THÚC
Ở đâu đó trong các tìm kiếm của tôi, tôi đã tìm thấy một mẫu mà tôi đã cố gắng thích nghi, nhưng vì tôi không hiểu regex nên tôi đã thất bại :)
vị trí / {
# if you're just using wordpress and don't want extra rewrites
# then replace the word @rewrites with /index.php
thử_files $ uri $ uri / /index.php;
}
địa điểm @rewrites {
# Can put some of your own rewrite rules in here
# for example rewrite ^/~(.*)/(.*)/? /users/$1/$2 last;
# If nothing matches we'll just send it to /index.php