Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal,
estou tentando criar uma página de erro personalizada com o Isapi 3.0 em servidor cloud windows da locaweb em uma loja virtual em ASP.
Achei o seguinte material de referencia:
http://www.examehosting.com/articles/69/1/Codigos-da-pagina-de-erros/Pagina1.html
Ele sugere para usar ErrorDocument 404 /errors/404.html
Porem não está funcionando no ISAPI 3. Fornece a mensagem de erro: Unknown expression on line #8: ErrorDocument 404 http://www.compraseg.com.br/
Alguem ja fez isso pode me dar uma dica?
ele esta configurado para usar o 404.html, verifique se você tem o arquivo
Pessoal,
achei num forum americado que o ISAPI 3 não tem essa função de ErrorDocument mais.
Também já hospedei a página 404.html e também não funcionou. Deixa eu mostrar para você o URL que fica mais fácil.
O website funciona normal com o seguinte link:
http://www.compraseg.com.br/categoria/9/ACESSO_CONTROLADO/
O problema é que o site blindado aponta vulnerabilidade ao tentar acessar o seguinte url
http://www.compraseg.com.br/categoria/9/ACESSO_CONTROLADO/imagens/install
Além desses ele tenta acessar várias outras combinações. Isso não tem interferido me nada no código do site ou dados. Mas acho que o ideal seria ao tentar acessar esse url direcionar o usuario para uma página de erro.
O codigo do ISAPI está assim:
RewriteEngine on
RewriteBase /
#Produto descricao
RewriteRule produto/([a-zA-Z0-9_-]+)/ produtos_descricao.asp?codigo_produto=$1
RewriteRule produto/([a-zA-Z0-9_-]+) produtos_descricao.asp?codigo_produto=$1
#subcategoria
RewriteRule categoria2/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/ produtos.asp?tipo_busca=subcategoria&codigo_categoria=$1&codigo_subcategoria=$2
RewriteRule categoria2/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+) produtos.asp?tipo_busca=subcategoria&codigo_categoria=$1&codigo_subcategoria=$2
#Categoria
RewriteRule categoria/([a-zA-Z0-9_-]+)/ produtos.asp?tipo_busca=categoria&codigo_categoria=$1
RewriteRule categoria/([a-zA-Z0-9_-]+) produtos.asp?tipo_busca=categoria&codigo_categoria=$1
xanburzum, kid, patrique... vocês tem alguma dica para isso?
Eu uma vez fiz um esquema destes de erros, so não lembro como... vou ver se encontro aqui
#considerando uma pasta chamada erros com o arquivo 404.asp
RewriteRule ^/.*$ /erros/404.asp
Não to achando... mais já lembro que fiz isso... to começando a achar que pode ter sido direto pelo painel de controle do domínio.
Mais veja so oque encontrei
http://www.trinitude.com/web/2010/06/17/url-rewrite-smack-down-htaccess-vs-404-handler/
xanburzum,
isso ai que você colou é para outra finalizada. Isso ai é para evitar o download do arquivo .htacess.
O que está sendo comentado nesse post é como resolver a questão de redirecionamento para páginas não encontradas.
Na verdade uma outra coisa que resolveria seria como travar o acesso ou fazer um redirecionamento para tentativa de acesso para um link que nao exitse.
Exemplo de link que funciona
www.meusite.com/paginas/25/
Exemplo de link que não tem acesso
www.meusite.com/paginas/25/tentativadeacesso/maisumapasta/outraaqui/
ta ae achei.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /404.asp [L]
Patrique, continua acessivel os URLS do tipo
www.meusite.com/paginas/25/tentativadeacesso/maisumapasta/outraaqui/
sendo que existe apenas o url
www.meusite.com/paginas/25/
eu queria tentar bloquear, ao digitar qualquer coisa depois do url www.meusite.com/paginas/25/ teria que ser redirecionado para erro404.html
Hummmm, entendi, nunca fiz assim, porém eu acho que você terá que fazer isso diretamente pelo code.
Faça uma verificação na url, conte os "/" se passar o limite permitido é que estão tendando colocar coisasa mais na url... com isso pelo code você redireciona para o certo.
Isso é um POG porém não sei se pelo rewrite da pra fazer isso, pelo menos eu nunca vi, por isso o POG nesse caso poderá te ajudar.
[]'s
Patrique, continua acessivel os URLS do tipo
www.meusite.com/paginas/25/tentativadeacesso/maisumapasta/outraaqui/
sendo que existe apenas o url
www.meusite.com/paginas/25/
eu queria tentar bloquear, ao digitar qualquer coisa depois do url www.meusite.com/paginas/25/ teria que ser redirecionado para erro404.html
Acho que cheguei em uma lógica aqui que pode te ajudar, porém vou fazer uns testes e chegando em casa a noite eu posto o resultado, pois to na correria aqui.
[]'s
olha este link, talvez pode ajudar
Pronto coloquei aqui a logica pra funfar.
Faz o seguinte, crie um rewrite dessa forma
RewriteRule paginas/(.)/(.) /test\page.asp?cod=$1&p=$2
RewriteRule paginas/(.*) /test\page.asp?cod=$1
Desta forma o sistema ira aceitar tanto url assim
www.meusite.com/paginas/25/
Como urls assim
www.meusite.com/paginas/25
A jogada será no code... neste exemplo no page.asp
Coloque no topo de sua página o seguinte code
<%
If Request.QueryString("p") <> "" Then
Response.Redirect("/paginas/"& Request.QueryString("cod") &"")
End If
%>
Olá Mundo!
Desta forma sempre quando a url depois do id estiver preenchida o sistema pegara o id real e redirecionará para a url correta... não permitindo seguimento na url.
Exemplo...
se o usuário acessar pela url
www.meusite.com/paginas/25
ou
www.meusite.com/paginas/25/
o sistema procegue... porém se ele tentar utilizar um parametro depois do id... exemplo...
www.meusite.com/paginas/25/teste
o sistema identificará no começo do code e redirecionara para
www.meusite.com/paginas/25/
Desta forma o sistema não abrirá exceções.... tudo o que for colocado depois do id será interpretado como lixo.. e dai o sistema redireciona para a url correta.
Prontinho... boa sorte.
você possui a pasta errors com o arquivo 404.html nela corretamente?