Question

Une autre question suivante sur ce fil . Le seul élément restant que je ne peux pas résoudre est qu'il ya une liste pour un dossier maintenant inexistant « / équipe / », mais si j'ajoute ceci dans mon fichier .htaccess, il se casse toutes les autres entrées .htaccess pour les fichiers ce dossier, à savoir

redirect 301 /team/ /team.html
redirect 301 /team/joe_bloggs.htm /team.html
redirect 301 /team/joe_bloggs.html /team.html
redirect 301 /team/bill_smith.htm /team.html
redirect 301 /team/bill_smith.html /team.html

Si je tente alors de visiter /team/joe_bloggs.htm, il me prend à

/team.html/joe_bloggs.htm

Si je peux résoudre ce problème, il peut me aider à comprendre comment résoudre ma question initiale et de réduire l'énorme liste des pages de redirection dans mon fichier .htaccess, de sorte que toute aide reçue avec reconnaissance.

Était-ce utile?

La solution

Vous devez changer l'ordre, et de mettre « redirect 301 /team/ /team.html » à la fin. Il lit la ligne à la ligne et si elle trouve quelque chose convient, il le remplace.

De plus, je pense que vous devez apprendre à ajouter, ^ et caractères $. ^ Signifie, l'expression doit commencer, et signifie $ l'expression devrait prendre fin. Ainsi, ^/team/$ signifie, il doit être exactement / équipe / et /team/joe_bloggs.htm wont match

Autres conseils

Le Redirect directive fonctionne sur préfixes de chemin. Et dans ce cas, le préfixe de chemin utilisé dans votre première directive (/team/) matchs et le reste du chemin est ajouté au nouveau chemin d'URL.

  

[...] toute demande commençant par URL-Path retournera une demande de redirection au client à l'emplacement de la cible URL . informations de chemin supplémentaire au-delà de la correspondance URL-Path sera ajouté à la cible URL .

RedirectMatch place:

RedirectMatch 301 ^/team/ /team.html
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top