Re: redirect transparente de diretorio no apache

2001-11-21 Por tôpico Mario Olimpio de Menezes
On Tue, Nov 20, 2001 at 11:54:39PM -0200, Andre Luiz de Oliveira wrote:
 On Tue, 2001-11-20 at 09:37, Mario Olimpio de Menezes wrote:
  
  como disse outro usuário, vc pode utilizar o RewriteEngine
  
  se vc estiver dentro de um virtual host para o dominio micro01.dominio
  pode fazer o seguinte:
  
  IfModule mod_rewrite.c
  RewriteEngine on
  RewriteLog /var/log/apache/rewrite_log
  RewriteLogLevel 3  # bastante log
  RewriteRule ^/diretorio1/(.*) /http://micro02.dominio/novo_diretorio/ \
  [L]
  
  /IfModule
 
 alguem sabe se é possível alguma coisa desse tipo com o .htaccess ???

sim, é possível.

segundo o Apache Server Admin's Handbook,  o contexto é:
server config, virtual host, per-directory config (.htaccess)

entretanto você precisa habilitar (RewriteEngine on) dentro do arquivo
de configuração do diretório e assegurar que você tenha habilitada a
seguinte diretiva no contexto apropriado para o diretório:

Options FollowSymLinks

ou seja, se você está dentro de um virtual host, a opção acima deve
estar na seção apropriada do v.host.


-- 
Mario O.de MenezesMany are the plans in a man's heart, but
IPEN-CNEN/SP is the Lord's purpose that prevails
http://curiango.ipen.br/~mario Prov. 19.21



Re: redirect transparente de diretorio no apache

2001-11-20 Por tôpico Mario Olimpio de Menezes
On Mon, Nov 19, 2001 at 10:54:59AM -0200, Pedro Zorzenon Neto wrote:
 Bom dia pessoal,
 
   Estou precisando de uma ajuda com o Apache.
 
   É o seguinte:
 
 tenho o diretorio http://micro01.dominio/diretorio1/...
 e vou passar este hd responsável pelo diretorio1 para outro micro
 dentro da minha rede interna.
 
 portanto, tudo que estava em http://micro01.dominio/outrodiretorio/
 vai continuar no mesmo lugar e o que estava no diretorio1, quero que o
 apache retorne um código 302 Moved com o endereço
 http://micro02.dominio/novo_diretorio/... para que quem acessava o
 micro01 não tenha problemas e o redirecionamento seja transparente ao
 usuário.

como disse outro usuário, vc pode utilizar o RewriteEngine

se vc estiver dentro de um virtual host para o dominio micro01.dominio
pode fazer o seguinte:

IfModule mod_rewrite.c
RewriteEngine on
RewriteLog /var/log/apache/rewrite_log
RewriteLogLevel 3  # bastante log
RewriteRule ^/diretorio1/(.*) /http://micro02.dominio/novo_diretorio/ \
[L]

/IfModule

caso você esteja em uma diretiva global, deve ser preciso fazer algumas
pequenas mudanças. 

 
   Alguém tem uma dica?
 
 Obrigado, abraços,
 Pedro
 
 -- 
   .''`.   Pedro Zorzenon Neto [EMAIL PROTECTED]
  : :'  :  Debian GNU/Linux | GNU/Hurd: http://www.debian.org
  `. `'`   Debian BR: http://debian-br.sourceforge.net
`- Be Happy! Be FREE!
 
 
 -- 
 To UNSUBSCRIBE, email to [EMAIL PROTECTED]
 with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
 
 

-- 
Mario O.de MenezesMany are the plans in a man's heart, but
IPEN-CNEN/SP is the Lord's purpose that prevails
http://curiango.ipen.br/~mario Prov. 19.21



Re: redirect transparente de diretorio no apache

2001-11-20 Por tôpico Pedro Zorzenon Neto
On Tue, Nov 20, 2001 at 09:37:28AM -0200, Mario Olimpio de Menezes wrote:
 On Mon, Nov 19, 2001 at 10:54:59AM -0200, Pedro Zorzenon Neto wrote:
  Bom dia pessoal,
  
Estou precisando de uma ajuda com o Apache.
  
É o seguinte:
  
  tenho o diretorio http://micro01.dominio/diretorio1/...
  e vou passar este hd responsável pelo diretorio1 para outro micro
  dentro da minha rede interna.
  
  portanto, tudo que estava em http://micro01.dominio/outrodiretorio/
  vai continuar no mesmo lugar e o que estava no diretorio1, quero que o
  apache retorne um código 302 Moved com o endereço
  http://micro02.dominio/novo_diretorio/... para que quem acessava o
  micro01 não tenha problemas e o redirecionamento seja transparente ao
  usuário.

Consegui este redirecionamento alterando o access.conf:

directory /mnt/mirror/debian-non-US
 IfModule mod_rewrite.c
  RewriteEngine on
  RewriteRule (.*) http://outromicro/diretorio_provisorio_do_mirror/$1 [R]
 /IfModule
 #IndexOptions NameWidth=* +SuppressDescription
 #DirectoryIndex .
/directory

Porém descobri que o apt não entende ao receber um redirecionamento...
ele não segue o redirecionamento e portanto isso não pode ser utilizado
no caso de um mirror debian.

O resultado final não foi bom, mas obrigado a todos que contribuiram
mesmo assim!

  Abraços
  Pedro



Re: redirect transparente de diretorio no apache

2001-11-20 Por tôpico Andre Luiz de Oliveira
On Tue, 2001-11-20 at 09:37, Mario Olimpio de Menezes wrote:
  
  tenho o diretorio http://micro01.dominio/diretorio1/...
  e vou passar este hd responsável pelo diretorio1 para outro micro
  dentro da minha rede interna.
  
  portanto, tudo que estava em http://micro01.dominio/outrodiretorio/
  vai continuar no mesmo lugar e o que estava no diretorio1, quero que o
  apache retorne um código 302 Moved com o endereço
  http://micro02.dominio/novo_diretorio/... para que quem acessava o
  micro01 não tenha problemas e o redirecionamento seja transparente ao
  usuário.
 
 como disse outro usuário, vc pode utilizar o RewriteEngine
 
 se vc estiver dentro de um virtual host para o dominio micro01.dominio
 pode fazer o seguinte:
 
 IfModule mod_rewrite.c
 RewriteEngine on
 RewriteLog /var/log/apache/rewrite_log
 RewriteLogLevel 3  # bastante log
 RewriteRule ^/diretorio1/(.*) /http://micro02.dominio/novo_diretorio/ \
 [L]
 
 /IfModule

alguem sabe se é possível alguma coisa desse tipo com o .htaccess ???


-- 
+-+
| André Luiz de Oliveira  |
| Debian GNU/Linuxer  |
+-+
| Solvo S/A - Serv. de Missão Crítica |
| - [EMAIL PROTECTED]   |
| Universidade Estadual Paulista  |
| - [EMAIL PROTECTED] |
+-+



redirect transparente de diretorio no apache

2001-11-19 Por tôpico Pedro Zorzenon Neto
Bom dia pessoal,

  Estou precisando de uma ajuda com o Apache.

  É o seguinte:

tenho o diretorio http://micro01.dominio/diretorio1/...
e vou passar este hd responsável pelo diretorio1 para outro micro
dentro da minha rede interna.

portanto, tudo que estava em http://micro01.dominio/outrodiretorio/
vai continuar no mesmo lugar e o que estava no diretorio1, quero que o
apache retorne um código 302 Moved com o endereço
http://micro02.dominio/novo_diretorio/... para que quem acessava o
micro01 não tenha problemas e o redirecionamento seja transparente ao
usuário.

  Alguém tem uma dica?

Obrigado, abraços,
Pedro

-- 
  .''`.   Pedro Zorzenon Neto [EMAIL PROTECTED]
 : :'  :  Debian GNU/Linux | GNU/Hurd: http://www.debian.org
 `. `'`   Debian BR: http://debian-br.sourceforge.net
   `- Be Happy! Be FREE!



Re: redirect transparente de diretorio no apache

2001-11-19 Por tôpico Pablo Lorenzzoni
Olah Pedro!

No seu caso vc tem ainda outra alternativa. Vou delinear as duas 
alternativas para vc:

(1) Mais simples, mas sem o 302 Moved:
Crie um index.html no http://micro01.dominio/diretorio1/ com o 
seguinte: 

HTML
HEAD
META HTTP-EQUIV=refresh CONTENT=0; 
URL=http://micro02.dominio/novo_diretorio/;
/HEAD
BODY
Esse URL modou para http://micro02.dominio/novo_diretorio/ . Clique 
a href='http://micro02.dominio/novo_diretorio/'aqui/a se vc naum 
for redirecionado para lá automaticamente.
/BODY
/HTML
--
Obs: O primeiro parametro de CONTENT é o número de segundos antes do 
redirecionamento automatico. Vc pode setar ele para qualquer numero. 
Eu uso 0 normalmente.

(2)Mais complicado. mas envia o 302:
(a) Crie um index.html em http://micro01.dominio/diretorio1/ com o 
seguinte:
--
HTML
HEAD
META HTTP-EQUIV=refresh CONTENT=0; 
URL=http://micro01.dominio/diretorio1/moved.php;
/HEAD
BODY
/BODY
/HTML
--
Aqui, ao contrario do primeiro caso, naum recomendo mudar o 
parametro de CONTENT.

(b) Crie um moved.php no mesmo diretorio com o seguinte:
--
?php
Header(HTTP/1.0 302 Moved);
?
HTML
HEAD
META HTTP-EQUIV=refresh CONTENT=0; 
URL=http://micro02.dominio/novo_diretorio/;
/HEAD
BODY
Esse URL modou para http://micro02.dominio/novo_diretorio/ . Clique 
a href='http://micro02.dominio/novo_diretorio/'aqui/a se vc naum 
for redirecionado para lá automaticamente.
/BODY
/HTML
--
Aqui sim. Mude o parametro de CONTENT a vontade.

Obs. Se vc configurou o seu php para pre-processar arquivos .html 
tambem, o passo (a) naum eh necessario e o arquivo em (b) pode ter o 
nome de index.html. O problema eh que isso, logicamente, deixa o 
servidor mais lento, jah que ele vai pre-processar todos os arquivos 
html.

[]s

Pablo


Em Seg 19 Nov 2001 12:19, você escreveu:
| Oi Pablo,
|
|   Pode ser! me fala o que você fez com o php para que isso
| ocorresse.
|
| Abraços
| Pedro
|
| On Mon, Nov 19, 2001 at 11:38:49AM -0200, Pablo Lorenzzoni wrote:
|  Olah!
| 
|  Vc tem php nessa maquina? Eu tive o mesmo problema e resolvi
|  usando a funcao Header(). Naum sei se o apache tem essa funcao
|  nativa... mas para mim pareceu mais pratico usar o php, jah que
|  eu tinha ele instalado.
| 
|  []s
| 
|  Pablo
| 
|  Em Seg 19 Nov 2001 10:54, Pedro Zorzenon Neto escreveu:
|  | Bom dia pessoal,
|  |
|  |   Estou precisando de uma ajuda com o Apache.
|  |
|  |   É o seguinte:
|  |
|  | tenho o diretorio http://micro01.dominio/diretorio1/...
|  | e vou passar este hd responsável pelo diretorio1 para outro
|  | micro dentro da minha rede interna.
|  |
|  | portanto, tudo que estava em
|  | http://micro01.dominio/outrodiretorio/ vai continuar no mesmo
|  | lugar e o que estava no diretorio1, quero que o apache retorne
|  | um código 302 Moved com o endereço
|  | http://micro02.dominio/novo_diretorio/... para que quem
|  | acessava o micro01 não tenha problemas e o redirecionamento
|  | seja
|  | transparente ao usuário.
|  |
|  |   Alguém tem uma dica?
|  |
|  | Obrigado, abraços,
|  | Pedro
| 
|  --
|  Pablo Lorenzzoni (Spectra) [EMAIL PROTECTED]
|  GnuPG Key ID 268A084D at search.keyserver.net
|  Webpage: http://people.debian.org/~spectra/

-- 
Pablo Lorenzzoni (Spectra) [EMAIL PROTECTED]
GnuPG Key ID 268A084D at search.keyserver.net
Webpage: http://people.debian.org/~spectra/ 



Re: redirect transparente de diretorio no apache

2001-11-19 Por tôpico Pedro Zorzenon Neto
Oi Pablo,

  Infelizmente, a dica que você me enviou não resolve o problema.

  É que quando alguem faz um:

   $ wget http://micro01.dominio/diretorio1/arquivos/teste.txt

  eu quero que ele redirecione para
  http://micro02.dominio/novo_diretorio/arquivos/teste.txt de modo que
fique transparente para usuarios e também para programas.

  É que preciso provisoriamente mover o HD do mirror Debian aqui da USP
para outro micro e gostaria que os usuarios nem percebessem isso.

  O que eu sei é que se ao receber pelo apache:
GET /diretorio1/arquivos/teste.txt
  se eu responder com:
Status: 302 Moved Temporarily
Location: http://micro02.dominio/novo_diretorio/arquivos/teste.txt

  ai funciona, mas não sei como ensinar ao apache como fazer isso!

  Alguma outra dica?

Obrigado,
Pedro

On Mon, Nov 19, 2001 at 01:07:02PM -0200, Pablo Lorenzzoni wrote:
 Olah Pedro!
 
   No seu caso vc tem ainda outra alternativa. Vou delinear as duas 
 alternativas para vc:
 
 (1) Mais simples, mas sem o 302 Moved:
   Crie um index.html no http://micro01.dominio/diretorio1/ com o 
 seguinte: 
 
 HTML
 HEAD
 META HTTP-EQUIV=refresh CONTENT=0; 
 URL=http://micro02.dominio/novo_diretorio/;
 /HEAD
 BODY
 Esse URL modou para http://micro02.dominio/novo_diretorio/ . Clique 
 a href='http://micro02.dominio/novo_diretorio/'aqui/a se vc naum 
 for redirecionado para lá automaticamente.
 /BODY
 /HTML
 --
   Obs: O primeiro parametro de CONTENT é o número de segundos antes do 
 redirecionamento automatico. Vc pode setar ele para qualquer numero. 
 Eu uso 0 normalmente.
 
 (2)Mais complicado. mas envia o 302:
   (a) Crie um index.html em http://micro01.dominio/diretorio1/ com o 
 seguinte:
 --
 HTML
 HEAD
 META HTTP-EQUIV=refresh CONTENT=0; 
 URL=http://micro01.dominio/diretorio1/moved.php;
 /HEAD
 BODY
 /BODY
 /HTML
 --
   Aqui, ao contrario do primeiro caso, naum recomendo mudar o 
 parametro de CONTENT.
 
   (b) Crie um moved.php no mesmo diretorio com o seguinte:
 --
 ?php
 Header(HTTP/1.0 302 Moved);
 ?
 HTML
 HEAD
 META HTTP-EQUIV=refresh CONTENT=0; 
 URL=http://micro02.dominio/novo_diretorio/;
 /HEAD
 BODY
 Esse URL modou para http://micro02.dominio/novo_diretorio/ . Clique 
 a href='http://micro02.dominio/novo_diretorio/'aqui/a se vc naum 
 for redirecionado para lá automaticamente.
 /BODY
 /HTML
 --
   Aqui sim. Mude o parametro de CONTENT a vontade.
 
   Obs. Se vc configurou o seu php para pre-processar arquivos .html 
 tambem, o passo (a) naum eh necessario e o arquivo em (b) pode ter o 
 nome de index.html. O problema eh que isso, logicamente, deixa o 
 servidor mais lento, jah que ele vai pre-processar todos os arquivos 
 html.
 
   []s
 
   Pablo
 
 
 Em Seg 19 Nov 2001 12:19, você escreveu:
 | Oi Pablo,
 |
 |   Pode ser! me fala o que você fez com o php para que isso
 | ocorresse.
 |
 | Abraços
 | Pedro
 |
 | On Mon, Nov 19, 2001 at 11:38:49AM -0200, Pablo Lorenzzoni wrote:
 |  Olah!
 | 
 |Vc tem php nessa maquina? Eu tive o mesmo problema e resolvi
 |  usando a funcao Header(). Naum sei se o apache tem essa funcao
 |  nativa... mas para mim pareceu mais pratico usar o php, jah que
 |  eu tinha ele instalado.
 | 
 |[]s
 | 
 |Pablo
 | 
 |  Em Seg 19 Nov 2001 10:54, Pedro Zorzenon Neto escreveu:
 |  | Bom dia pessoal,
 |  |
 |  |   Estou precisando de uma ajuda com o Apache.
 |  |
 |  |   É o seguinte:
 |  |
 |  | tenho o diretorio http://micro01.dominio/diretorio1/...
 |  | e vou passar este hd responsável pelo diretorio1 para outro
 |  | micro dentro da minha rede interna.
 |  |
 |  | portanto, tudo que estava em
 |  | http://micro01.dominio/outrodiretorio/ vai continuar no mesmo
 |  | lugar e o que estava no diretorio1, quero que o apache retorne
 |  | um código 302 Moved com o endereço
 |  | http://micro02.dominio/novo_diretorio/... para que quem
 |  | acessava o micro01 não tenha problemas e o redirecionamento
 |  | seja
 |  | transparente ao usuário.
 |  |
 |  |   Alguém tem uma dica?
 |  |
 |  | Obrigado, abraços,
 |  | Pedro



Re: redirect transparente de diretorio no apache

2001-11-19 Por tôpico Pablo Lorenzzoni
Olah de novo!

Nesse caso acredito que uma olhada em 
http://httpd.apache.org/docs/misc/howto.html#redirect deverá 
resolver, principalmente essa parte:
--
The best option is to use the standard Apache module mod_rewrite. If 
that module is compiled in, the following lines
RewriteEngine On
RewriteRule /.* http://www.apache.org/ [R]
 will send an HTTP 302 Redirect back to the client, and no matter 
what they gave in the original URL, they'll be sent to 
http://www.apache.org/;.
--

[]s

Pablo

Em Seg 19 Nov 2001 16:44, Pedro Zorzenon Neto escreveu:
| Oi Pablo,
|
|   Infelizmente, a dica que você me enviou não resolve o problema.
|
|   É que quando alguem faz um:
|
|$ wget http://micro01.dominio/diretorio1/arquivos/teste.txt
|
|   eu quero que ele redirecione para
|   http://micro02.dominio/novo_diretorio/arquivos/teste.txt de modo
| que fique transparente para usuarios e também para programas.
|
|   É que preciso provisoriamente mover o HD do mirror Debian aqui da
| USP para outro micro e gostaria que os usuarios nem percebessem
| isso.
|
|   O que eu sei é que se ao receber pelo apache:
| GET /diretorio1/arquivos/teste.txt
|   se eu responder com:
| Status: 302 Moved Temporarily
| Location:
| http://micro02.dominio/novo_diretorio/arquivos/teste.txt
|
|   ai funciona, mas não sei como ensinar ao apache como fazer
| isso!
|
|   Alguma outra dica?
|
| Obrigado,
| Pedro
|
| On Mon, Nov 19, 2001 at 01:07:02PM -0200, Pablo Lorenzzoni wrote:
|  Olah Pedro!
| 
|  No seu caso vc tem ainda outra alternativa. Vou delinear as duas
|  alternativas para vc:
| 
|  (1) Mais simples, mas sem o 302 Moved:
|  Crie um index.html no http://micro01.dominio/diretorio1/ com o
|  seguinte:
|  
|  HTML
|  HEAD
|  META HTTP-EQUIV=refresh CONTENT=0;
|  URL=http://micro02.dominio/novo_diretorio/;
|  /HEAD
|  BODY
|  Esse URL modou para http://micro02.dominio/novo_diretorio/ .
|  Clique a href='http://micro02.dominio/novo_diretorio/'aqui/a
|  se vc naum for redirecionado para lá automaticamente.
|  /BODY
|  /HTML
|  --
|  Obs: O primeiro parametro de CONTENT é o número de segundos
|  antes do redirecionamento automatico. Vc pode setar ele para
|  qualquer numero. Eu uso 0 normalmente.
| 
|  (2)Mais complicado. mas envia o 302:
|  (a) Crie um index.html em http://micro01.dominio/diretorio1/ com
|  o seguinte:
|  --
|  HTML
|  HEAD
|  META HTTP-EQUIV=refresh CONTENT=0;
|  URL=http://micro01.dominio/diretorio1/moved.php;
|  /HEAD
|  BODY
|  /BODY
|  /HTML
|  --
|  Aqui, ao contrario do primeiro caso, naum recomendo mudar o
|  parametro de CONTENT.
| 
|  (b) Crie um moved.php no mesmo diretorio com o seguinte:
|  --
|  ?php
|  Header(HTTP/1.0 302 Moved);
|  ?
|  HTML
|  HEAD
|  META HTTP-EQUIV=refresh CONTENT=0;
|  URL=http://micro02.dominio/novo_diretorio/;
|  /HEAD
|  BODY
|  Esse URL modou para http://micro02.dominio/novo_diretorio/ .
|  Clique a href='http://micro02.dominio/novo_diretorio/'aqui/a
|  se vc naum for redirecionado para lá automaticamente.
|  /BODY
|  /HTML
|  --
|  Aqui sim. Mude o parametro de CONTENT a vontade.
| 
|  Obs. Se vc configurou o seu php para pre-processar arquivos
|  .html tambem, o passo (a) naum eh necessario e o arquivo em (b)
|  pode ter o nome de index.html. O problema eh que isso,
|  logicamente, deixa o servidor mais lento, jah que ele vai
|  pre-processar todos os arquivos html.
| 
|  []s
| 
|  Pablo
| 
|  Em Seg 19 Nov 2001 12:19, você escreveu:
|  | Oi Pablo,
|  |
|  |   Pode ser! me fala o que você fez com o php para que isso
|  | ocorresse.
|  |
|  | Abraços
|  | Pedro
|  |
|  | On Mon, Nov 19, 2001 at 11:38:49AM -0200, Pablo Lorenzzoni 
wrote:
|  |  Olah!
|  | 
|  |  Vc tem php nessa maquina? Eu tive o mesmo problema e resolvi
|  |  usando a funcao Header(). Naum sei se o apache tem essa
|  |  funcao nativa... mas para mim pareceu mais pratico usar o
|  |  php, jah que eu tinha ele instalado.
|  | 
|  |  []s
|  | 
|  |  Pablo
|  | 
|  |  Em Seg 19 Nov 2001 10:54, Pedro Zorzenon Neto escreveu:
|  |  | Bom dia pessoal,
|  |  |
|  |  |   Estou precisando de uma ajuda com o Apache.
|  |  |
|  |  |   É o seguinte:
|  |  |
|  |  | tenho o diretorio http://micro01.dominio/diretorio1/...
|  |  | e vou passar este hd responsável pelo diretorio1 para
|  |  | outro micro dentro da minha rede interna.
|  |  |
|  |  | portanto, tudo que estava em
|  |  | http://micro01.dominio/outrodiretorio/ vai continuar no
|  |  | mesmo lugar e o que estava no diretorio1, quero que o
|  |  | apache retorne um código 302 Moved com o endereço
|  |  | http://micro02.dominio/novo_diretorio/... para que quem
|  |  | acessava o micro01 não tenha