Diretiva "Refresh"
A diretiva refresh, utiliza a própria linguagem html para informa ao navegador que deve atualizar a página com a nova URL especificada em no parâmetroURL
.
E este encaminha uma única página e não todo o domínio. Pode ser configurado para encaminhar a página inicial padrão para o domínio dando a impressão de encaminhamento do domínio.
A diretiva refresh é uma meta informação passada na página HTML, que deve ser posicionada no elementohead
.
< META HTTP-EQUIV="Refresh" Content="0; URL=http://www.perfumes.incolume.com.br/files/ " >
Pode-se também apresentar uma mensagem para os usuários da página, como no trecho abaixo.
<html> <head> <META HTTP-EQUIV="Refresh" Content="3; URL=http://www.perfumes.incolume.com.br/files/"> </head> <body> Esta página será redirecionada para http://www.perfumes.incolume.com.br/files/ em 3 segundos. <p> Por favor atualize seus links. </p> </body> </html>
-
mod_cgi
O mod_cgi é habilitado na diretivaScriptAlias
, no arquivos de configuração do apache, geralmente httpd.conf
ScriptAlias / /var/www/cgi-bin/redirect-script/
Os scripts do mod_cgi podem ser em diversas linguagens, C, perl, bash, sh, php, python, abaixo alguns exemplos:
Perl
#!/usr/bin/perl
print "Status: 301 Moved\r\n" .
"Location: http://www.new-domain.com/\r\n" .
"\r\n";
#!/usr/bin/perl -w
use strict;
use CGI qw/:standard/;
print redirect('http://www.new-domain.com');
PHP
<?php
header("Location: http://www.new-domain.com/");
?>
JavaScript
<html>
<head>
<script language="Javascript" type="text/javascript">
<!-- Hide script
//<![CDATA[
window.location.href="http://www.new-domain.com/"
//]]> End script hiding -->
</script>
</head>
</html>
<html>
<head>
<script type="application/x-javascript">
<!--
document.location="http://intra"
-->
</script>
</head>
</html>
<html>
<meta http-equiv=refresh content="0; URL=http://www.presidencia.gov.br" />
</html>
-
modulo mod_rewrite
O mod_rewrite é habilitado na diretivamod_rewrite
, no arquivos de configuração do apache, geralmente httpd.conf.
RewriteEngine On
RewriteRule /.* http://www.new-domain.com/ [R]
RewriteEngine On
# use RewriteLog to debug problems with your rewrite rules
# disable it after you found the error our your harddisk will be filled *very fast*
# RewriteLog "/var/log/apache2/rewrite_log"
# RewriteLogLevel 2
RewriteRule ^/icons/ - [L]
# Bloqueia requisições HTTP indesejadas
RewriteCond %{REQUEST_METHOD} !=GET
RewriteCond %{REQUEST_METHOD} !=POST
RewriteRule . / [F,L]
# Bloqueia autenticacoes
RewriteCond %{HTTP:Authorization} Basic [OR]
RewriteCond %{HTTP:Cookie} _ac
RewriteRule . /404
#Bloqueia todas URLs que possuem /manage
RewriteCond %{REQUEST_URI} ^/(.*)manage$
RewriteRule . / [F,L]
#Bloqueia todas URLs que possuem /manage
RewriteCond %{REQUEST_URI} ^/(.*)manage_main$
RewriteRule . / [F,L]
#Bloqueia todas URLs que possuem /join_form
RewriteCond %{REQUEST_URI} ^/(.*)join_form$
RewriteRule . / [F,L]
#Bloqueia todas URLs que possuem /login_form
RewriteCond %{REQUEST_URI} login_form(.*)$
RewriteRule . / [F,L]
#Bloqueia todas URLs que possuem /plone_control_panel
RewriteCond %{REQUEST_URI} ^/(.*)plone_control_panel$
RewriteRule . / [F,L]
#Bloqueia todas URLs que possuem /member_search_results
RewriteCond %{REQUEST_URI} ^/(.*)member_search_results
RewriteRule . / [F,L]
#Bloqueia todas URLs que possuem /prefs_users_overview
RewriteCond %{REQUEST_URI} ^/(.*)prefs_users_overview
RewriteRule . / [F,L]
# rewrite any access to manage to a secure server
# RewriteRule ^/(.*)/manage(.*) \
# https://secure.example.org/zope/example_instance/example_org/$1/manage$2 [NC,R=301,L]
# RewriteRule ^/manage(.*) \
# https://secure.example.org/zope/example_instance/example_org/manage$1 [NC,R=301,L]
# rewrite any other access to the zope server using a proxy [P] and add the VMH magic keywords
# use %{SERVER_NAME} instead of example.com to avoid busting the ServerAlias
# %{HTTP_HOST} is bad because it may contain the port
#RewriteRule ^/projetoergonomia(.*) http://10.100.0.82/projetoergonomia/$1 [L,P]
#RewriteRule ^/intra(.*) http://intra.incolume.com.br/$1 [L,R=302]
RewriteCond %{HTTP_HOST} ^www\.incolume\.com\.br$
#-- dominio RewriteRule ^/perfumes(.*) http://10.100.0.82/perfumes/$1 [L,P]
RewriteRule ^/eventos/conferencia$ /eventos/conferencia/ [L,R=301]
RewriteRule ^/eventos/conferencia/(.*) http://10.100.0.82/eventos/conferencia/$1 [L,P]
#--https-- RewriteRule ^/loja(.*) http://10.100.0.82/loja/$1 [L,P]
RewriteRule ^/loja$ /loja/ [L,R=301]
###RewriteRule ^/projetoergonomia(.*) http://10.100.0.82/projetoergonomia/$1 [L,P]
RewriteRule ^/blog/brito(.*) http://10.100.0.82/blog/brito/$1 [L,P]
-
modulo mod_alias
O mod_alias é habilitado na diretivamod_alias
, no arquivos de configuração do apache, geralmente httpd.conf.
Redirecionamento Temporário de Domínio:
Redirect / http://www.new-domain.com/
Redirecionamento Temporário de domínio com Expressão Regular (ER/RE):
RedirectMatch ^/$ http://www.new-domain.com/
RedirectMatch ^/(.*)$ http://www.new-domain.com/$1
Redirecionamento permanente:
Redirect permanent / http://www.new-domain.com/
Redirecionamento Permanente de domínio com Expressão Regular (ER/RE):
RedirectMatch permanent ^/$ http://www.new-domain.com/
RedirectMatch permanent ^/(.*)$ http://www.new-domain.com/$1
Redirecionamento de conteúdo:
Redirect /web-page.html http://www.new-domain.com/destination-web-page.html
Redirecionamento de conteúdo com Expressão Regular (ER/RE):
Redirect ^/web-page http://www.new-domain.com/destination-web-page.html
Redirect ^/web-page.html$ http://www.new-domain.com/destination-web-page.html
Redirecionamento Temporário com RE, para o mesmo URI remoto:
RedirectMatch ^/html/(.*)$ https://www.new-domain.com/html/$1
RedirectMatch ^/webalizer/(.*)$ https://www.new-domain.com/webalizer/$1
As diretivas de Redirect tem precedencia sobre as diretivas Alias e ScriptAlias.
Outras opções de "Redirect" incluem: temp (error 302), padrão, que determina status de redirecionamento temporário.
HTTP 1.1 Redirect códigos
HTTP
CódigoEstado Descrição 301 permanente O recurso foi movido permanentemente 302 temporário O recurso foi movido temporariamente 303 seeother O recurso foi substituído e referem-se a novo recurso 305 UseProxy Use proxy para acessar o site 307 Temp O recurso foi movido temporariamente 410 Tegone O recurso foi removido permanentemente Referências
http://www.yolinux.com/TUTORIALS/ApacheRedirect.html http://tools.ietf.org/html/rfc2616 http://httpd.apache.org/docs/2.2/mod/mod_alias.html http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html http://httpd.apache.org/docs/2.2/mod/mod_cgi.htmlAtualizações
14/11/2011; 16/11/2011; 05/12/2012;Sequência
Redirect Web em Apache(parte 2)
Comentários