Momentan findet keine Kommunikation zwischen Apache und WordPress statt. Die "Magie" geschieht in Apache- mod_rewrite
Regeln.
Für eine Standard-WordPress-Installation gelten folgende Regeln .htaccess
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Beachten Sie diese Zeile: RewriteRule . /index.php [L]
Hier weisen wir Apache an, URL-Anfragen intern an umzuleiten /index.php
.
Es sei denn, diese ZeileRewriteCond %{REQUEST_FILENAME} !-f
wird falsch. Das heißt, mitHinzufügen diesesRewriteCond
mit der obenRewriteRule
, wir sagen Apache alle Anfragen zu senden/index.php
, aber nicht , wenn es eine vorhandene Datei ist .
Auch wenn diese Zeile:RewriteCond %{REQUEST_FILENAME} !-d
false wird. Das heißt, mitHinzufügen diesesRewriteCond
mit dem obenRewriteRule
, wir sagen Apache alle Anfragen zu senden/index.php
, aber nicht , wenn es sich um ein bestehendes Verzeichnis ist .
Letztendlich sendet Apache alle anderen Anfragen intern an, es sei denn, es handelt sich um eine vorhandene Datei oder ein vorhandenes Verzeichnis /index.php
.
Wie Sie sehen, findet keine Kommunikation zwischen Apache und WordPress statt. Apache entscheidet alles selbst und wir weisen es an, dies mit RewriteRule
und RewriteCond
Anweisungen zu tun .
Lesen Sie mehr über mod_rewrite
HIER .