


Comment réécrire les URL pour être plus conviviale (par exemple, product.php? Id = 123 to / product / 123)?
Jul 07, 2025 am 12:43 AMLa réécriture des URL dynamiques à un formulaire plus convivial peut être implémentée via la configuration du serveur ou le routage de framework. Si vous utilisez le serveur Apache, vous pouvez activer le module mod_rewrite et ajouter des règles de réécriture dans le fichier .htaccess, tels que mappage / produit / 123 à product.php? Id = 123; Si vous utilisez Nginx, vous devez remplir des fonctions similaires via des blocs d'emplacement et réécrire les instructions dans le fichier de configuration du site et recharger le service après modification; Pour les CMS ou les cadres de développement (tels que WordPress, Laravel), vous pouvez définir ou définir des règles de routage en arrière-plan pour réaliser des URL amicales sans écrire manuellement les règles de réécriture et en même temps améliorer les effets SEO. Les points clés comprennent la garantie des modules activés, la rédaction des expressions régulières correctement et la gestion des problèmes de cache et d'autorisation.
Il n'est pas difficile de changer les URL dynamiques en une forme plus amicale. La clé est de comprendre le mécanisme de travail et les méthodes de configuration derrière lui. Le scénario le plus courant consiste à transformer des liens comme product.php?id=123
en formulaires plus lisibles tels que /product/123
ou /products/123-product-name
. La clé de la mise en ?uvre réside dans les règles de réécriture c?té serveur.
mod_rewrite en utilisant .htaccess
et apache
Si vous utilisez un serveur Apache, le moyen le plus courant est d'implémenter la réécriture d'URL via le fichier .htaccess
et le module mod_rewrite
.
Par exemple: si vous souhaitez réellement pointer la demande d'accès /product/123
product.php?id=123
, vous pouvez ajouter les règles suivantes dans .htaccess
:
Réécrire Réécriture ^ Product / ([[0-9]) $ product.php? Id = 1 $ [l]
La signification de ce code est: si l'utilisateur accède /product/123
, le serveur passera à product.php?id=123
, mais /product/123
est toujours affiché dans la barre d'adresse. Où ([0-9] )
est une expression régulière pour correspondre à l'ID numérique.
Notes:
- Assurez-vous que le serveur a
mod_rewrite
activé. - Pour permettre
RewriteEngine
dans.htaccess
. - Si vous utilisez un plugin de cache ou un CDN, vous devrez peut-être nettoyer le cache ou actualiser les règles.
Configuration de réécriture de l'URL sous Nginx
Si vous utilisez Nginx, la méthode de configuration est légèrement différente. Vous ne pouvez pas utiliser .htaccess
, mais modifiez directement le fichier de configuration du site.
Par exemple, si vous souhaitez également mapper /product/123
sur product.php?id=123
, vous pouvez l'écrire comme ceci:
Emplacement / produit / { réécrire ^ / product / ([[0-9]) $ /product.php?id=$1 dernier; }
Cette règle correspond à l'URL commen?ant par /product/
et suivant un nombre, et la convertit en une demande de page dynamique PHP.
Choses à noter:
- La syntaxe doit être correcte, en particulier l'écriture d'expressions régulières.
- Après avoir modifié la configuration, vous devez recharger nginx (comme l'exécution
nginx -s reload
). - Il est préférable de sauvegarder d'abord la configuration d'origine lors des tests pour éviter les erreurs affectant l'accès au site Web.
Combiné avec des capacités de routage CMS ou des framework
De nos jours, de nombreux systèmes de gestion de contenu (tels que WordPress, Shopify) ou des cadres de développement (tels que Laravel, Symfony) ont des systèmes de routage intégrés et peuvent définir des formats d'URL amicaux directement en arrière-plan ou dans le code.
Par exemple dans WordPress:
- Accédez à "Paramètres> permalinks" en arrière-plan, vous pouvez choisir la structure par défaut ou la personnaliser.
- Le format commun est
/postname/
ou/category/postname/
, et WordPress traitera automatiquement le mappage d'URL sous-jacent.
Si vous utilisez Laravel, vous pouvez définir un itinéraire comme celui-ci dans routes/web.php
:
Route :: get ('/ product / {id}', 'ProductController @ show');
De cette fa?on, l'accès /product/123
appellera la méthode du contr?leur et passera dans l'ID.
avantage:
- Vous n'avez pas à écrire et à réécrire les règles vous-même, le cadre vous aidera à le gérer.
- Il est plus facile à entretenir, surtout lorsque la structure du projet est complexe.
- Soutient généralement les chemins conviviaux du référencement, qui sont utiles pour le référencement.
En général, l'essence de la réécriture d'URL est de permettre au navigateur de voir une belle adresse et le serveur sait comment y faire face. Quelle méthode est utilisée dépend de votre environnement de pile et de serveur technologique. Tant que vous ma?trisez les principes de base, l'opération n'est pas compliquée, mais faites attention aux détails, tels que des expressions régulières, des autorisations de serveur et des problèmes de mise en cache.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lorsque vous rencontrez une erreur "Connection Réflégente", la signification la plus directe est que l'h?te ou le service cible que vous essayez de vous connecter pour rejeter explicitement votre demande. 1. Vérifiez si le service cible est en cours d'exécution, connectez-vous à la machine cible pour vérifier l'état du service à l'aide de SystemCTlStatus ou PSAUX, et démarrez manuellement s'il n'est pas démarré; 2. Confirmez si le port écoute correctement, utilisez la commande netstat ou ss pour vérifier si le service écoute le port correct, modifiez le fichier de configuration si nécessaire et redémarrez le service; 3. Le pare-feu et les paramètres du groupe de sécurité peuvent provoquer une connexion refusée, vérifier les règles de pare-feu local et la configuration du groupe de sécurité de la plate-forme cloud et fermer temporairement le pare-feu pendant les tests; 4. Les erreurs d'adresse IP ou de résolution DNS peuvent également causer des problèmes, utiliser un ping ou

L'activation de Keepalive peut considérablement améliorer les performances du site Web, en particulier pour les pages qui chargent plusieurs ressources. Il réduit les frais généraux de connexion et accélère le chargement de la page en gardant le navigateur et la connexion du serveur ouvert. Si le site utilise un grand nombre de petits fichiers, a des visiteurs en double ou attache une importance à l'optimisation des performances, Keepalive doit être activé. Lors de la configuration, vous devez faire attention à la définition d'un délai d'expiration raisonnable et d'un nombre de demandes, et tester et vérifier son effet. Différents serveurs tels que Apache, Nginx, etc. ont tous des méthodes de configuration correspondantes, et vous devez prêter attention aux problèmes de compatibilité dans les environnements HTTP / 2.

Pour améliorer les performances Apache, optimiser les paramètres de configuration sont nécessaires. 1. Ajustez les paramètres Keepalive: activez MaxkeepaliveRequests et définissez 500 ou plus, et définissez KeepaliveTimeout à 2 ~ 3 secondes pour réduire les frais généraux de connexion. 2. Configurez le module MPM: Définissez Starterservers, MinsPareServers, MaxsPareServers et MaxClients en mode préfigue; Définissez ThreadsperChild et MaxRequestworkers en mode événement ou travailleur pour éviter une charge excessive. 3. Utilisation de la mémoire de contr?le: basée sur l'utilisation de la mémoire d'un seul processus

Le répertoire de racine Web par défaut d'Apache est / var / www / html dans la plupart des distributions Linux. En effet, le serveur Apache fournit des fichiers à partir d'un répertoire racine de document spécifique. Si la configuration n'est pas personnalisée, des systèmes tels que Ubuntu, CentOS et Fedora utilisent / var / www / html, tandis que macOS (utilisant Homebrew) est généralement / usr / local / var / www, et que Windows (xAMPP) est c: \ xAMPP \ htdocs; Pour confirmer le chemin actuel, vous pouvez vérifier le fichier de configuration Apache tel que httpd.conf ou apache2.conf, ou créer un p avec phpinfo ()

Permettre à HSTS de forcer les navigateurs à accéder aux sites Web via HTTPS, en améliorant la sécurité. 1. Pour activer HTTPS dans Apache, vous devez d'abord configurer HTTPS, puis ajouter l'en-tête de réponse STRICT-Transport-Security dans le fichier de configuration du site ou .htaccess; 2. Pour configurer l'age maximum (tel que 31536000 secondes), inclut les paramètres debdomains et préchargement; 3. Assurez-vous que le module mod_headers est activé, sinon exécutez Sudoa2enModHeaders et redémarrez Apache; 4. Vous pouvez éventuellement vous soumettre à la liste HSTSPReload, mais il doit satisfaire que le site principal et le sous-domaine prennent en charge les HTTPS.

Les étapes pour installer Apache sur Ubuntu ou Debian incluent: 1. Mettez à jour le progiciel système pour assurer la dernière source de logiciel; 2. Exécutez SudoaptinInStAllapache2 pour installer le service Apache et vérifier son état d'exécution; 3. Configurez le pare-feu pour permettre le trafic HTTP / HTTPS; 4. Ajustez le chemin du fichier du site Web, modifiez la configuration ou activez le module selon les besoins; 5. Redémarrez le service Apache après avoir modifié la configuration et pris effet. L'ensemble du processus est simple et direct, mais vous devez prêter attention aux points clés tels que les paramètres d'autorisation, les règles de pare-feu et les ajustements de configuration pour garantir qu'Apache fonctionne normalement et peut accéder à la page par défaut via le navigateur.

Pour rediriger un nom de domaine non www sur www ou vice versa, il peut être réalisé via la configuration du serveur, le CDN ou la plate-forme d'hébergement. 1. APACHE Server: Utilisez le fichier .htaccess pour ajouter des règles de réécriture et de réécriture, et définir la redirection 301; 2. Ninx Server: modifiez le fichier de configuration du site et utilisez l'instruction return301 pour réaliser un saut; 3. CDN ou plate-forme d'hébergement: par exemple, CloudFlare crée des règles de page pour sauter. Les notes incluent la garantie que le certificat SSL couvre deux noms de domaine, tester si le saut entre en vigueur et la maintenance de la cohérence de l'ensemble du lien du site pour éviter les problèmes de référencement et les erreurs d'accès.

Pour que Apache serve un fichier HTML simple, préparez d'abord le fichier HTML et mettez-le dans le répertoire correct. 1. Créez un fichier HTML simple tel que index.html ou exemple.html; 2. Copiez le fichier dans le répertoire racine par défaut Apache / var / www / html / ou le chemin personnalisé; 3. Assurez-vous que le service Apache est démarré et accessible via le navigateur pour tester; 4. Si vous devez modifier le répertoire du site Web, modifiez les chemins de document et les chemins de répertoire dans le fichier de configuration Apache et redémarrez le service pour rendre la configuration. L'ensemble du processus nécessite une attention à l'extension de fichier, aux autorisations de chemin et à l'état du service, et s'assure que tous les paramètres sont exacts et que la page peut être affichée avec succès.
