MemberPress verwendet einige erweiterte Apache-Rewrite-Regeln, um Dateien zu schützen, die nicht direkt von WordPress kontrolliert werden.
Wenn Ihre Rewrite-Regeln ordnungsgemäß eingerichtet sind, sollte eine benutzerdefinierte URI-Regel in MemberPress in der Lage sein, alle Dateitypen außer diesen zu schützen:
php, phtml, jpg, jpeg, gif, css, png, js, ico, svg, woff, ttf und xml
Diese Dateitypen werden ausgeschlossen, um mögliche Leistungsprobleme zu vermeiden.
Hier erfahren Sie, wie Sie Ihre Rewrite-Regeln auf verschiedenen Webservern einrichten können:
Apache und Litespeed
Die meisten Webhoster, die WordPress anbieten, setzen Apache als Webserver ein. Wenn Sie Apache verwenden und Ihr Apache-Benutzer Schreibzugriff auf Ihr Dokumentenstammverzeichnis hat (was die häufigste Konfiguration ist), dann
Sie sollten Ihre Regeln überhaupt nicht ändern müssen. ... MemberPress sollte in der Lage sein, Ihre Regeln automatisch richtig zu platzieren.
Wenn Sie jedoch Ihre Apache-Rewrite-Regeln bearbeiten müssen, müssen Sie Folgendes nach den Regeln von WordPress hinzufügen:
# BEGIN MemberPress Rules
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_COOKIE} mplk=([a-zA-Z0-9]+)
RewriteCond /var/www/somesite.com/wp-content/uploads/mepr/rules/%1 -f
RewriteRule ^(.*)$ - [L]
RewriteCond %{REQUEST_URI} !^/(wp-admin|wp-includes|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)$
RewriteRule . /wp-content/plugins/memberpress/lock.php [L]
</IfModule>
# END MemberPress Rules
Anmerkung: Der Code sollte direkt unter der # END WordPess
Zeile in der .htaccess-Datei.
Anmerkung: Sie müssen sicherstellen, dass Sie Folgendes ersetzen /var/www/somesite.com/ mit Ihrem tatsächlichen Docroot-Pfad.
Nginx
MemberPress
unterstützt offiziell nicht Nginx als Webserver. Allerdings müssen Sie Mai Viel Glück dabei, dass das Support-Team Ihres Webhosts eine der folgenden Möglichkeiten für Sie implementiert.
Nginx als Apache-Proxy
Wenn Ihr Webhost Nginx als Proxy (vor) für Apache verwendet:
location ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {
proxy_pass http://localhost:PORT_HERE;
}
Anmerkung: Die PORT_HERE Teil muss geändert werden, Ihr Host sollte den richtigen Port # für Apache kennen.
Nginx als eigenständiger Webserver
Wenn Sie nur Nginx als Webserver verwenden, können Sie mit dem folgenden Speicherortblock in Ihrer Nginx-Konfigurationsdatei Erfolg haben:
Ort ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {
# Sperrvariablen einrichten
Setzen Sie $mplk_uri "/wp-content/plugins/memberpress/lock.php";
setze $mplk_file "/var/www/html/wp-content/uploads/mepr/rules/${cookie_mplk}";
# sperren Sie die Sperr-URI nicht
if ($uri ~* "^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)") { break; }
# redirect, wenn die Lock-Datei ein Verzeichnis ist oder nicht existiert
if (-d $mplk_file) { rewrite ^ $mplk_uri last; }
if (!-e $mplk_file) { rewrite ^ $mplk_uri last; }
}
Wenn die obige Version nicht funktioniert (insbesondere, wenn Sie Flywheel Cloud Hosting nutzen), versuchen Sie stattdessen die folgende Version:
location ~ ^/wp-content/plugins/memberpress/lock.php { include fastcgi.conf; }<br>
location ~* \.(zip|gz|tar|rar|doc|docx|xls|xlsx|xlsm|pdf|mp4|m4v|mp3|ts|key|m3u8)$ {<br>
# Setup-Sperrvariablen<br>
$mplk_uri "/wp-content/plugins/memberpress/lock.php" einstellen;<br>
set $mplk_file "$document_root/wp-content/uploads/mepr/rules/${cookie_mplk}";<br>
# sperren Sie die Sperr-Uri nicht<br>
if ($uri ~* "^/(wp-admin|wp-includes|wp-content/plugins|wp-content/themes)") { break; }<br>
# Umleitung, wenn die Sperrdatei ein Verzeichnis ist oder nicht existiert<br>
if (-d $mplk_file) { rewrite ^ $mplk_uri last; }<br>
if (!-e $mplk_file) { rewrite ^ $mplk_uri last; }<br>
}
Anmerkung: Sie müssen die /var/www/html/ Teil des Pfades in der folgenden Zeile, damit er dem Pfad zu Ihrem WordPress-Installationsordner entspricht
IIS, Caddy and other web servers
Derzeit haben wir keine unterstützten Regeln für diese Webserver.