Mudanças entre as edições de "RewriteRule do Apache para não codificar o caractere especial em um redirecionamento"

De Wiki Integrator do Brasil
Ir para: navegação, pesquisa
Linha 1: Linha 1:
; RewriteRule do Apache para não codificar o caractere especial # em um redirecionamento
+
; RewriteRule do Apache para não codificar o caractere especial '''#''' em um redirecionamento
  
 
Caso esteja querendo redirecionar seu domínio para outra URL, cujo o recurso do endereço contém o caractere # especial, saiba que inicialmente, no padrão, configurado pelo painel, será automaticamente convertido para '%23', sem as aspas.
 
Caso esteja querendo redirecionar seu domínio para outra URL, cujo o recurso do endereço contém o caractere # especial, saiba que inicialmente, no padrão, configurado pelo painel, será automaticamente convertido para '%23', sem as aspas.
Linha 5: Linha 5:
 
Para resolver isso, altere o redirecionamento criado pelo painel, adicionando um NE, veja como:<br />
 
Para resolver isso, altere o redirecionamento criado pelo painel, adicionando um NE, veja como:<br />
 
1. Nosso .htaccess original criado pelo cPanel para um redirecionamento:
 
1. Nosso .htaccess original criado pelo cPanel para um redirecionamento:
 
+
<pre>
RewriteEngine on<br />
+
RewriteEngine on
RewriteCond %{HTTP_HOST} ^comescape\.javaworld\.com\.br$ [OR]<br />
+
RewriteCond %{HTTP_HOST} ^comescape\.javaworld\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.comescape\.javaworld\.com\.br$<br />
+
RewriteCond %{HTTP_HOST} ^www\.comescape\.javaworld\.com\.br$
 
RewriteRule ^/?$ "http\:\/\/ok\.javaworld\.com\.br\/\#\/1" [R=301,L]
 
RewriteRule ^/?$ "http\:\/\/ok\.javaworld\.com\.br\/\#\/1" [R=301,L]
 
+
</pre>
  
 
2. Alteramos o final [R=301,L] para '''[NE,L=301]:'''
 
2. Alteramos o final [R=301,L] para '''[NE,L=301]:'''
 
+
<pre>
RewriteEngine on<br />
+
RewriteEngine on
RewriteCond %{HTTP_HOST} ^comescape\.javaworld\.com\.br$ [OR]<br />
+
RewriteCond %{HTTP_HOST} ^comescape\.javaworld\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.comescape\.javaworld\.com\.br$<br />
+
RewriteCond %{HTTP_HOST} ^www\.comescape\.javaworld\.com\.br$
 
RewriteRule ^/?$ "http\:\/\/ok\.javaworld\.com\.br\/\#\/1" '''[NE,L=301]'''
 
RewriteRule ^/?$ "http\:\/\/ok\.javaworld\.com\.br\/\#\/1" '''[NE,L=301]'''
 
+
</pre>
  
 
Essa e outras dicas são apresentadas na [http://httpd.apache.org/docs/2.2/rewrite/advanced.html#redirectanchors documentação do Apache].
 
Essa e outras dicas são apresentadas na [http://httpd.apache.org/docs/2.2/rewrite/advanced.html#redirectanchors documentação do Apache].

Edição das 22h18min de 29 de janeiro de 2016

RewriteRule do Apache para não codificar o caractere especial # em um redirecionamento

Caso esteja querendo redirecionar seu domínio para outra URL, cujo o recurso do endereço contém o caractere # especial, saiba que inicialmente, no padrão, configurado pelo painel, será automaticamente convertido para '%23', sem as aspas.

Para resolver isso, altere o redirecionamento criado pelo painel, adicionando um NE, veja como:
1. Nosso .htaccess original criado pelo cPanel para um redirecionamento:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^comescape\.javaworld\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.comescape\.javaworld\.com\.br$
RewriteRule ^/?$ "http\:\/\/ok\.javaworld\.com\.br\/\#\/1" [R=301,L]

2. Alteramos o final [R=301,L] para [NE,L=301]:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^comescape\.javaworld\.com\.br$ [OR]
RewriteCond %{HTTP_HOST} ^www\.comescape\.javaworld\.com\.br$
RewriteRule ^/?$ "http\:\/\/ok\.javaworld\.com\.br\/\#\/1" '''[NE,L=301]'''

Essa e outras dicas são apresentadas na documentação do Apache.