Si j'ai une URL comme: -
domain.com/category/widgets/filter/blue
domain.com/category/widgets/filter/red
Et il est assez difficile de les reconstruire à quelque chose comme: -
domain.com/category/blue-widgets
domain.com/category/red-widgets
Existe-t-il un moyen d'utiliser des réécritures d'URL ou autre chose avec .htaccess ou sur le serveur pour afficher l'URL sous la forme domain.com/category/blue-widgets
sur la page domain.com/category/widgets/filter/blue
?
Je me suis penché sur le masquage d'URL, mais je n'ai rien trouvé et cela me dérange depuis près de 6 mois maintenant. Y a-t-il un moyen de réaliser ce que je veux faire?
FYI: Ceci est un site Web Magento et le processus ci-dessus, je veux implémenter pour potentiellement des centaines d'URL.
Pour répondre à la réponse de @ kkugelmann: -
Je ne pouvais pas faire en sorte que votre proposition RewriteRule
fasse une différence dans le fichier .htaccess
et j'ai donc commencé à tester quelques éléments de ce . Testeur htaccess : -
La proposition RewriteRule
ne fonctionnait pas dans cet appareil de test: -
Cependant, ce qui suit a: -
Mais l'ajout de l'un de ces RewriteRule
dans le fichier .htaccess
du site Web n'a pas réécrit l'URL du tout ...
En passant, si j'ajoute [R=301,L]
à la fin de la règle de réécriture d'URL, la règle est ensuite réécrite, mais bien entendu, 301 la redirige également, ce qui constitue un comportement indésirable.
J'ai trouvé ne autre question avec le même problème ... Et un réponse acceptée qui a résolu le problème qui semblait être lié à l'utilisation de mod_proxy
et du [P]
balise sur la règle (si j'essaie cela, la page 404).
Vous aurez besoin de mod_rewrite activé et votre commande de réécriture doit ressembler à ceci:
RewriteEngine on
RewriteRule ^category/([a-zA-Z]*)-([a-zA-Z]*)$ category/$2/filter/$1^
[Mettre à jour]
RewriteEngine on
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/filter/([a-zA-Z]+)$ $1/$3-$2