Il s'agit du code .htaccess pour les permaliens dans WordPress. Je ne comprends pas comment cela fonctionne. Quelqu'un peut-il expliquer?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
J'ai googlé et découvert que -f
et -d
part signifie donner une priorité plus élevée aux vrais répertoires et fichiers.
Mais alors qu'est-ce que ^index\.php$ - [L]
et RewriteRule . /index.php [L]
?
Comment WordPress traite-t-il les catégories, les balises, les pages, etc. avec juste cela?
Cela se produit-il en interne? Si oui, je suis intéressé à apprendre à le faire en PHP.
Merci
^index\.php$ - [L]
empêche les demandes de index.php
d'être réécrit, 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 seule règle, et il dit que si ce n'est pas un vrai fichier et pas un vrai répertoire, 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 il appelle le bon code pour afficher la page demandée par l'utilisateur.