web-dev-qa-db-fra.com

Il s'agit du code .htaccess dans WordPress. Quelqu'un peut-il expliquer comment cela fonctionne?

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

39
webnat0

^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.

54
Kevin Stricker