0

Ich habe mein CMS auf WordPress erstellt und es über wp-api der Welt ausgesetzt.Apache Web Server Bereitstellung Problem

Ich habe einige Zweifel daran. Bitte helfen Sie, die Lösung für die folgenden Abfragen zu finden.

  1. Wollen Sie den Zugriff von https://blog.domain-name.com zu stoppen oder wir können außer unter Fälle Haupt-Website heißt https://www ..com für alle kommenden Anfrage von jemand umleiten.
  2. Willst du Zugang wp-Admin durch spezifische IP-Adresse geben
  3. Willst du wp-API, d.h. API-Endpunkt der Welt ausgesetzt. Zum Beispiel: https://blog.domain-name.com/wp-json/wp/v2/posts kann von jeder IP-Adresse zugegriffen werden.

Hier ist meine .htaccess-Probe, die ich schrieb

ErrorDocument 401 /blog.example.local/index.php?error=404 
    ErrorDocument 403 /blog.example.local/index.php?error=404 

    <IfModule mod_rewrite.c> 

    RewriteEngine On 
    RewriteBase/

    RewriteCond %{REQUEST_URI} ^(.*)?/wp-login\.php(.*)$ [OR] 
    RewriteCond %{REQUEST_URI} ^(.*)?/wp-admin$ 

    RewriteCond %{REMOTE_ADDR} !^127.0.0.1$ 
    RewriteRule ^(.*)$ - [L,R=403] 

    #RewriteCond %{REQUEST_FILENAME} !-f 
    #RewriteCond %{REQUEST_FILENAME} !-d 
    #RewriteCond %{REQUEST_URI} ^(.*)?/wp-json(.*)$ 
    #RewriteRule ^(.*)$ $1 [L] 

    RewriteRule ^(.*)$ https://www.example.local/blog/$1 [R=301,L] 

    </IfModule> 
    <files wp-config.php> 
     order allow,deny 
     Require all denied 
    </files> 

Alles auf Linux-Server (AWS EC2-Instanz) und Apache Web-Server gehostet wird.

Antwort

0

Ich wartete viel, um die Antwort zu bekommen, aber immer noch keine Antwort bekommen. Also habe ich angefangen, die .htaccess Datei zu modifizieren und alle Apache Rewrite Regeln zu lesen.

Endlich habe ich die Antwort erfolgreich und es funktioniert gut für mich. Ich schreibe hier eine Antwort, damit jeder eine Referenz bekommen kann, wenn sie in Zukunft Probleme bekommen.

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] 
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin(.*)$ 
RewriteCond %{REMOTE_ADDR} ^127.0.0.1$ 
RewriteRule ^(.*)$ $1 [QSA,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_URI} ^(.*)?wp-json(.*)$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
#RewriteRule ^(.*)$ $1 [QSA,L] 
RewriteRule . /index.php [L] 

RewriteCond %{REQUEST_URI} !^(.*)?wp-login\.php(.*)$ 
RewriteCond %{REQUEST_URI} !^(.*)?wp-admin(.*)$ 
RewriteCond %{REQUEST_URI} !^(.*)?wp-json(.*)$ 
RewriteCond %{REMOTE_ADDR} !^127.0.0.1$ 
RewriteRule ^(.*)$ https://www.example.com/blog/$1 [R=301,L] 

</IfModule> 

<files wp-config.php> 
order allow,deny 
Require all denied 
</files>