1 votes

rendre les redirections .htaccess sensibles à la casse

J'ai besoin de rediriger les dossiers du port 80 vers le port 8080. 1. Index par défaut vers /somename 2. /admin vers /somename

J'ai essayé un .htaccess pour

RewriteEngine on
Redirect / http://example.com:8080/somename
Redirect /admin http://example.com:8080/someAdmin

Mais j'utilise un JSP et le nom du dossier que j'ai utilisé est someAdmin (attention aux majuscules). Il m'est impossible de changer le chemin dans mon code (désolé).

Problème A cause de cela, je reçois une page d'erreur (CASE sEnSiTive) de redirection. (Elle est automatiquement convertie en minuscules dans le navigateur)

AddOn Je serais heureux si le .htaccess pouvait masquer le port 8080 à l'utilisateur via un proxy inverse.

RewriteEngine on
RewriteCond  %{SERVER_PORT} !^8080$
RewriteRule ^(.*) http://%{SERVER_NAME}:8080/somefolder%{REQUEST_URI}
Redirect /admin http://%{SERVER_NAME}:8080/someAdmin

0 votes

Quel système d'exploitation ?

1voto

Shane Madden Points 112034

C'est bizarre que Redirect se comporte comme ça. Je n'ai pas d'instance d'Apache sous la main pour vérifier que mod_alias est censé se comporter ainsi, mais s'il ne respecte pas la casse dans un emplacement cible, je suppose qu'il suffit d'utiliser mod_rewrite, puisque vous le chargez de toute façon :

RewriteBase /
RewriteRule ^$ http://example.com:8080/somename [R,L]
RewriteRule ^admin$ http://example.com:8080/someAdmin [R,L]

Pour le reverse proxying, il semble que vous souhaitiez utiliser le proxy à la place, et non en plus, des redirections ?

Pour ce dont vous avez besoin, ProxyPass fonctionnerait très bien, mais il n'est pas compatible avec .htaccess. Si vous avez la possibilité de le faire, ne configurez pas cette option dans le fichier .htaccess, utilisez plutôt ProxyPass à la place. Si ce n'est pas le cas, mod_rewrite devrait faire l'affaire :

RewriteBase /
RewriteRule ^admin(.*)$ http://example.com:8080/someAdmin$1 [R,L]
RewriteRule ^(.*)$ http://example.com:8080/somename/$1 [R,L]

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X