La réécriture d'URL est une technologie qui aide à améliorer l'expérience des utilisateurs et le classement SEO du site Web en convertissant les URL complexes en formats simples et faciles à comprendre. Par exemple, la conversion de l'URL "http://example.com/index.php?page=about" en "http://example.com/about" simplifie non seulement le chemin d'accès de l'utilisateur, mais facilite également d'être inclus par les moteurs.
Pendant le processus de réécriture de l'URL de PHP, vous devez d'abord vous assurer que votre serveur Apache a le module Mod_rewrite installé et activé. Dans le système Linux, vous pouvez confirmer par:
$ apache2ctl -M | grep rewrite_module
Si la sortie contient "rewrite_module", cela signifie que le module a été activé. Ensuite, ouvrez le fichier de configuration d'Apache (tel que httpd.conf ou apache2.conf) et confirmer que la ligne suivante n'a pas été commentée:
LoadModule rewrite_module modules/mod_rewrite.so
Une fois la modification terminée, redémarrez le service Apache pour rendre la configuration.
.htaccess est un fichier de configuration stocké dans le répertoire racine du site Web et peut être utilisé pour ajuster le comportement du serveur Apache. Pour activer la réécriture de l'URL, vous devez ajouter une directive RewriteEngine au fichier .htaccess. Créez un nouveau fichier texte et ajoutez ce qui suit:
RewriteEngine On
Les règles de réécriture d'URL sont utilisées pour spécifier comment les URL sont converties. Dans le fichier .htaccess, nous utilisons la directive de réécriture pour définir ces règles. Voici un exemple de règle simple:
RewriteEngine On
RewriteRule ^about$ index.php?page=about [L]
Cette règle réécrira "http://example.com/about" à "http://example.com/index.php?page=about" et l'indicateur [l] indique que si le match est réussi, aucune autre règle ne continuera d'être appariée.
En plus de la conversion simple d'URL, la réécriture de l'URL peut également implémenter de nombreuses fonctions, telles que la suppression des extensions de fichiers, la mise en œuvre de fonctions de pagination et l'embellissement des URL. Voici quelques scénarios d'utilisation courants:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L]
Cette règle convertit "http://example.com/about.php" en "http://example.com/about", supprimant l'extension .php.
RewriteEngine On
RewriteRule ^page/([0-9]+)$ index.php?page=$1 [NC,L]
Cette règle réécrit "http://example.com/page/2" à "http://example.com/index.php?page=2" et implémente la pagination via l'URL.
RewriteEngine On
RewriteRule ^product/([0-9]+)/([a-zA-Z0-9-]+)$ product.php?id=$1&name=$2 [NC,L]
Cette règle réécrit "http://example.com/product/1/iphone" à "http://example.com/product.php?id=1&name=iphone" pour réaliser l'embellissement de l'URL.
Cet article présente comment utiliser la technologie de réécriture de l'URL dans PHP. En configurant le module mod_rewrite et le fichier .htaccess du serveur Apache, vous pouvez rendre l'URL du site Web plus concise, pratique pour l'optimisation du moteur de recherche et améliorer l'expérience utilisateur. Nous énumérons également des exemples de réécriture d'URL courants qui, je l'espère, seront utiles pour votre développement Web.