MemberPress sử dụng một số quy tắc viết lại Apache nâng cao để bảo vệ các tệp không được kiểm soát trực tiếp bởi WordPress.
Khi các quy tắc viết lại của bạn được thiết lập đúng cách, quy tắc URI tùy chỉnh trong MemberPress sẽ có thể bảo vệ bất kỳ loại tệp nào ngoại trừ:
php, phtml, jpg, jpeg, gif, css, png, js, ico, svg, woff, ttf và xml
Các loại tệp này được loại trừ để tránh các vấn đề về hiệu suất có thể xảy ra.
Đây là cách bạn có thể xây dựng các quy tắc viết lại của mình trên các máy chủ web khác nhau:
Apache & Litespeed #
Hầu hết các máy chủ web cung cấp WordPress đang chạy Apache làm máy chủ web của họ. Nếu bạn đang chạy Apache và người dùng apache của bạn có quyền ghi vào gốc tài liệu của bạn (đó là cấu hình phổ biến nhất) thì bạn không cần phải thay đổi các quy tắc của mình … MemberPress sẽ có thể tự động đặt các quy tắc của bạn một cách chính xác .
Tuy nhiên, nếu bạn cần chỉnh sửa các quy tắc viết lại Apache của mình thì đây là những gì bạn cần thêm sau các quy tắc của WordPress:
# BEGIN Thành viên <IfModule mod_rewrite.c> RewriteCond% {HTTP_COOKIE} mplk = ([a-zA-Z0-9] +) RewriteCond /var/www/somesite.com/wp-content/uploads/mepr/rules/%1 -f Viết lại quy tắc ^ (. *) $ - [L] RewriteCond% {REQUEST_URI}! ^ / (Wp-admin | wp-include | wp-content / plugins | wp-content / themes) RewriteCond% {REQUEST_URI} \. (Zip | gz | tar | rar | doc | docx | xls | xlsx | xlsm | pdf | mp4 | m4v | mp3 | ts | key | m3u8 | ZIP | GZ | TAR | RAR | DOC | DOCX | XLS | XLSX | XLSM | PDF | MP4 | M4V | MP3 | TS | KEY | M3U8) $ Viết lại quy tắc. /wp-content/plugins/memberpress/lock.php [L] </IfModule> # KẾT THÚC Thành viên
Lưu ý: Mã phải được dán ngay dưới # END WordPess
dòng trong tệp .htaccess.
Lưu ý: Bạn cần đảm bảo thay thế /var/www/somesite.com/ bằng đường dẫn docroot thực của mình.
Nginx #
MemberPress không chính thức hỗ trợ Nginx như một máy chủ web. Tuy nhiên, bạn có thể gặp may khi được nhóm hỗ trợ máy chủ web của bạn triển khai một trong những điều sau đây cho bạn.
Nginx như một Apache Proxy #
Nếu máy chủ web của bạn sử dụng Nginx làm proxy (phía trước) cho Apache:
vị trí ~ * \. (zip | gz | tar | rar | doc | docx | xls | xlsx | xlsm | pdf | mp4 | m4v | mp3 | ts | key | m3u8) $ { proxy_pass http: // localhost: PORT_HERE; }
Lưu ý: Phần PORT_HERE sẽ cần được thay đổi, máy chủ của bạn phải biết đúng cổng # cho apache.
Nginx như một máy chủ trang web độc lập #
Nếu bạn chỉ sử dụng Nginx làm máy chủ web, bạn có thể thành công với khối vị trí sau trong tệp cấu hình Nginx của mình:
vị trí ~ * \. (zip | gz | tar | rar | doc | docx | xls | xlsx | xlsm | pdf | mp4 | m4v | mp3 | ts | key | m3u8) $ { # Thiết lập biến khóa đặt $ mplk_uri "/wp-content/plugins/memberpress/lock.php"; đặt $ mplk_file "/ var / www / html / wp-content / uploads / mepr / rules / $ {cookie_mplk}"; # không khóa khóa đi tiểu if ($ uri ~ * "^ / (wp-admin | wp-include | wp-content / plugins | wp-content / themes)") {break; } # redirect nếu tệp khóa là dir hoặc không tồn tại if (-d $ mplk_file) {viết lại ^ $ mplk_uri last; } if (! -e $ mplk_file) {viết lại ^ $ mplk_uri last; } }
Lưu ý: Bạn sẽ cần thay đổi phần / var / www / html / của đường dẫn ở dòng bên dưới, để khớp với đường dẫn đến thư mục cài đặt wordpress của bạn