Por que o .htaccess está redirecionando para 'default.asp' e o que é?

1

Este é o conteúdo do meu arquivo .htaccess:

Options MultiViews
Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www.lventas.com$ [NC]
RewriteRule ^(.*)$ http://lventas.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ http://lventas.com/negocio/$1 [L,QSA]

ErrorDocument 404 http://www.lventas.com/404.php
RewriteOptions Inherit

Ele não deve fazer nada quando vai para a pasta raiz, mas ainda está redirecionando para:

http://lventas.com/negocio/default.asp

O que é 'default.asp'? e por que está dirigindo lá?

    
por Lisandro Vaccaro 25.05.2012 / 22:04

1 resposta

1

Como @uSlackr mencionado no comentário, uma das configurações pai provavelmente contém uma diretiva como essa;

 DirectoryIndex default.asp

A diretiva DirectoryIndex fornece um recurso padrão para quando o cliente solicita um diretório, por exemplo, http://www.lventas.com/ , portanto, a solicitação é mapeada para o sistema de arquivos relativo ao DocumentRoot as REQUEST_FILENAME=/default.asp

No entanto, como default.asp não existe como um arquivo, um diretório ou um link, ele corresponde ao seu segundo RewriteRule assim;

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ http://lventas.com/negocio/$1 [L,QSA]

, então a solicitação final é http://lventas.com/negocio/default.asp

Você geralmente pode substituir isso assim;

DirectoryIndex index.php

Options MultiViews
Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www.lventas.com$ [NC]
RewriteRule ^(.*)$ http://lventas.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ http://lventas.com/negocio/$1 [L,QSA]

ErrorDocument 404 http://www.lventas.com/404.php
RewriteOptions Inherit

ou parece que pode ser possível apenas desarmar o DirectoryIndex da forma como

DirectoryIndex

Options MultiViews
...
    
por 26.05.2012 / 02:59