make .htaccess redirecionar maiúsculas e minúsculas

1

Eu preciso redirecionar para pastas da porta 80 para 8080 1. Índice padrão para / somename 2. / admin para / somename

Eu tentei um .htaccess para

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

Mas eu estou rodando JSP, então o nome da pasta que eu usei é algumAdmin (note A maiúsculo) É impossível para mim mudar o caminho no meu código (desculpem)

Problema Então, por causa disso, eu estou recebendo redirecionamento de página de erro (CASE sEnSiTive) (Automaticamente converte para small case no navegador)

AddOn Ficarei feliz se o .htaccess puder mascarar a porta 8080 do usuário por meio do proxy reverso.

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

1 resposta

1

É estranho que Redirect esteja se comportando assim. Eu não tenho uma instância do Apache à mão agora para verificar se as mod_alias devem se comportar assim, mas se não vai respeitar maiúsculas e minúsculas em um local de destino, então eu suponho que apenas use mod_rewrite, já que você está carregando de qualquer maneira:

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

Para o proxy reverso, parece que você deseja fazer proxy em vez de, ao contrário dos redirecionamentos?

Para o que você precisa, ProxyPass funcionaria muito bem, mas não funciona bem com o .htaccess. Se você tiver a opção, não configure isso no .htaccess, use ProxyPass . Se você não fizer isso, então mod_rewrite deve fazer o truque:

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