Comment configurer des URL facultatives ou «superflues»?
-
05-07-2019 - |
Question
Comment configureriez-vous / gérez-vous les entités d'URL superflues / facultatives (des alias, peut-être)?
SO est un bon exemple:
- stackoverflow.com/questions/99999999 /
- stackoverflow.com/questions/99999999/ question-go-here (mauvais exemple, mais je ne pouvais pas penser à mieux)
Les URL Amazon sont encore plus déroutantes (par exemple, le Kindle )
- amazon.com/gp/product/B000FI73MA /
- amazon.fr/ Périphérique de lecture sans fil pour Amazon Amazone / dp / B000FI73MA /
[ MODIFIER ] Ce n'est probablement pas le meilleur plan d'action, mais je le demande vraiment en général, par opposition à un serveur unique.
La solution
Cette technique est communément appelée réécriture d’URL. Si vous recherchez une solution dans IIS, vous pouvez utiliser ISAPI rewrite . , qui est assez similaire à mod_rewrite pour apache. Sinon, vous pouvez choisir Mécanisme de routage ASP.Net MVC .
Autres conseils
Si vous utilisez Apache, consultez mod_rewrite
Quelque chose comme ça (si vous configurez manuellement les URL):
RewriteRule ^([^\/]+)\/([^\/]+)\/(.*) index.php?controller=$1&view=$2&args=$3
Sinon, je laisse le framework MVC le gérer et personnaliser les arguments du contrôleur selon les besoins.
mod_rewrite est souvent utilisé, du moins sous Linux avec Apache.
C’est une tâche qui concerne votre application Web, pas votre serveur Web.
Sur l'URL = > les mappages de fichiers, comme PHP (ou les serveurs Web statiques), c'est délicat; mais sur les frameworks MVC, il est assez naturel, même sur les frameworks PHP MVC.