2017-10-17 7 views
0

J'ai essayé de chercher mais seulement venu avec une solution qui utilise un RewriteMap (que je ne l'ai jamais utilisé auparavant .. et pas sûr si son même nécessaire pour cela?HTACCESS 302 réoriente de chemin capitalisée

En utilisant cette .htaccess testeur en ligne, il montre mes tentatives travailleraient, nit dans la pratique .... ils ne

http://htaccess.mwl.be/

URL:. http://www.somedomain.com/ABCD/somthing-else/another-directory

devrait rediriger vers: http://www.somedomain.com/abcd/somthing-else/another-directory

essentiellement toute: http://www.somedomain.com/ABCD

devrait rediriger vers: http://www.somedomain.com/abcd

tout (si quoi que ce soit) après l'ABCD/doit être conservé et transmis à la nouvelle ABCD/url ?

J'ai essayé ceci:

RewriteRule ^AAEM18 /aaem18 [NC,R=301,L] 

qui le site testeur dit:
La nouvelle URL est http://www.somedomain.com/abcd/somthing-else/another-directory

Mais quand je téléchargé le nouveau fichier .htaccess ..

juste aller vers:

http://www.somedomain.com/abcd

+1

'ReWriteMap' dans le apache est conf la bonne solution. Mais si vous devez le faire dans un .htaccess, vous pouvez essayer cette approche https://serverfault.com/questions/777577/apache-rewrite-all-urls-to-lowercase-if-contains-at-least-one -majuscule – masterfloda

Répondre

1

Si c'est seulement pour un répertoire (ABCD), vous pouvez utiliser:

RewriteCond %{REQUEST_URI} ^/abcd(/.+)?$ [NC] 
RewriteRule !^abcd abcd%1 [R=301,L] 

Ou avec [R, L] pour 302, comme dans votre titre.

Vous pouvez utiliser plusieurs répertoires en multipliant RewriteCond/RewriteRule. Mais ce n'est pas la solution si vous voulez le faire pour tous vos répertoires.

Il fonctionne avec:/ABCD/... ou/abcd /,/abcd/etc ->/abcd/...