web-dev-qa-db-fra.com

Supprimer la barre oblique SEULEMENT pour un répertoire spécifique

Je voudrais 301 rediriger mon URL qui a une barre oblique finale vers une URL sans barre oblique finale. Cette partie est simple (RewriteRule ^(.*)\/(\?.*)?$ $1$2 [R=301,L])

Cependant, je seulement veux le faire si ce répertoire est/abc /

Par exemple:

  • http://www.example.com/abc/cowboy/ devrait être 301ed en http://www.example.com/abc/cowboy
  • http://www.example.com/xyz/cowboy/ devrait rester le même et NE PAS être 301ed
1
John Crawford

Dans votre configuration du serveur, vous pouvez modifier votre exemple actuel pour inclure le répertoire /abc/ afin de limiter les redirections vers ce répertoire:

RewriteRule ^/abc/(.*)/(\?.*)?$ /abc/$1$2 [R=301,L]

Dans votre exemple, j'ai supprimé le caractère d'échappement de la barre oblique inversée, car cela semblerait ne pas être nécessaire.

Notez que pour que cela fonctionne dans .htaccess, vous devez supprimer le préfixe slash du motif RewriteRule.

2
MrWhite