Redirecionamento do arquivo host para download de outro arquivo

0

Eu editei meu arquivo host assim.

example.com/abc/a.zip example.com/abc/b.ziP

Então, o que preciso fazer é quando eu insiro o URL example.com/abc/a.zip no navegador e ele deve ser redirecionado para example.com/abc/b.zip. Mas isso não funciona. Então, onde está a culpa?

Existem outras maneiras de fazer isso?

    
por Asanka 24.09.2014 / 11:36

2 respostas

0

Para redirecionamentos simples, o RewriteEngine é um exagero. Basta adicionar isso à sua definição de site:

Redirect /abc/a.zip http://example.com/abc/b.zip

Veja o exemplo na documentação do Apache.

    
por muru 24.09.2014 / 12:31
0

Remapeando o URL

Se você quiser remapear url para um local diferente, mas os clientes ainda acessarem e conhecerem o URL original, use a diretiva RewriteRule .

Tente adicionar essas linhas na seção VirtualHost :

  RewriteEngine on
  RewriteRule ^/abc/a\.zip$ /abc/b.ziP [PT] 

Aqui está a sintaxe RewriteRule:

  RewriteRule Pattern Substitution [flags]

onde, de acordo com o apache mod_rewrite manual :

  Pattern: In VirtualHost context, The Pattern will initially be matched 
       against the part of the URL after the hostname and port, and 
       before the query string (e.g. "/app1/index.html").
  Substitution: A DocumentRoot-relative path to the resource to be served. 
       Note that mod_rewrite tries to guess whether you have specified a
       file-system path or a URL-path by checking to see if the first 
       segment of the path exists at the root of the file-system. 
       For example, if you specify a Substitution string of 
       /www/file.html, then this will be treated as a URL-path unless 
       a directory named www exists at the root or your file-system 
       (or, in the case of using rewrites in a .htaccess file, relative 
       to your document root), in which case it will be treated as a 
       file-system path. 
       If you wish other URL-mapping directives (such as Alias) to be 
       applied to the resulting URL-path, use the [PT] flag as described below.
  flag: special action

Nesse caso, o valor do sinalizador é PT, isso significa:

  passthrough|PT    Forces the resulting URI to be passed back to the URL 
      mapping engine for processing of other URI-to-filename translators, 
      such as Alias or Redirect. details ...

Aqui é um link útil com exemplos.

Existe uma diretiva Alias que remapear a localização do conteúdo também. Este é útil se a localização do conteúdo estiver fora de DocumentRoot .

Pedido de redirecionamento

Se você deseja informar ao cliente que o conteúdo solicitado está localizado em uma URL diferente e instruir o cliente a fazer uma nova solicitação com a nova URL, use Diretiva Redirecionar .

tente adicionar esta linha na seção VirtualHost :

  Redirect permanent /abc/a.zip http://example.com/abc/b.ziP 

Isso é útil para informar ao robô que o conteúdo é movido em outro local e evitar erros de indexação nos mecanismos de pesquisa.

    
por Lety 24.09.2014 / 12:16