htaccess redireciona o URL inteiro como parâmetro

1

Criamos um iframe loader index5.php que mostrará dois iframes, iframe1 e iframe2. O conteúdo do iframe2 pode ser definido acessando index5.php? Url = iframe2url. Então, indo para

domain/index5.php?url=www.serverfault.com 

carregaria serverfault em um iframe e nosso código em outro. Nós só queremos poder usar isso em nosso próprio domínio para evitar o XSS, então nos certificamos que o index5.php só permita o nosso domínio.

Além disso, queremos redigir todos os pedidos para o nosso site wordpress de

domain/page 

para

domain/index5.php?url=http://domain/page

No entanto, se usarmos

RewriteCond %{REQUEST_URI} !^/index5\.php$
RewriteCond %{HTTP_HOST} ^domain$
RewriteRule ^(.*)$ http://domain/index5.php?url=http://domain/$1 [R=301,L]

existe um redirecionamento infinito. Como podemos evitar isso?

    
por Thijs 14.09.2014 / 14:34

1 resposta

2

Quando você faz uma reescrita em um arquivo .htaccess (ao contrário da configuração do apache), o prefixo do caminho do diretório que contém o arquivo é removido, conforme a documentação do apache .

Isso significa que a condição de reescrita não deve conter o primeiro / . Em vez disso, deve ler

RewriteCond %{REQUEST_URI} !^index5\.php$
    
por 14.09.2014 / 16:34

Tags