Ceci est le code .htaccess pour les permaliens dans WordPress. Je ne comprends pas comment cela fonctionne. Quelqu’un peut-il expliquer?
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
J’ai googlé et découvert que la partie -f
et -d
signifie donner la priorité aux répertoires réels et aux fichiers.
Mais alors que sont ^index\.php$ - [L]
et RewriteRule . /index.php [L]
RewriteRule . /index.php [L]
?
Comment WordPress traite-t-il les catégories, les tags, les pages, etc. avec ceci?
Est-ce que ça se passe en interne? Si oui, je suis intéressé à apprendre comment le faire en PHP.
Merci
^index\.php$ - [L]
empêche les demandes d’ index.php
d’être réécrites, pour éviter une vérification inutile du système de fichiers. Si la demande concerne index.php
la directive ne fait rien -
et arrête le traitement des règles [L]
.
Ce bloc est une règle et il est dit que s’il ne s’agit pas d’un fichier réel et non d’un répertoire réel, redirigez la demande vers index.php
.
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
index.php interprète lui-même l’URL demandée par le client (PHP peut voir l’URL demandée en utilisant $_SERVER['REQUEST_URI']
) et appelle le code correct pour rendre la page demandée par l’utilisateur.