Ajuda - Busca - Membros - Calendário
Versão Completa: Execupar o php dentro do 404.shtml tem como?
Fórum cPanel > Servidores Linux > Apache
junior_vieira
Olá pessoal,

Estou tentando fazer uma página personalizada para o erro 404, o problema é q ela não aceita php, já editei o httpd.con do apache modificando:
AddType text/html .shtml para AddType application/x-httpd-php .shtml mais não foi o suficiente.

Gostaria da ajuda de vcs smile.gif pois será muito útil numa aplicação que quero fazer.

Atenciosamente

Junior
warlock
até onde eu sei nao tem jeito, apenas shtml
junior_vieira
QUOTE(warlock @ Apr 26 2006, 03:27 PM)
até onde eu sei nao tem jeito, apenas shtml
[right][snapback]5446[/snapback][/right]

O que eu quero fazer é colocar lá um php para pegar a url quebrar e redirecionar para outra url.
TIpo o cara digita site.com/junior ae o php divide em 2 (site.com e junior) e direciona o 2 para outro site tipo site.com/arquivo.php=?junior + para isso eu tenho q estar fazendo em php, tentei tambem mudar o arquivo 404.shtml para 404.php + não aceitou, vc sabe se tem como mudar isto tipo no apache ou em outro lugar?

[ ]s

Junior
SulNet
Vai direto no seu http.conf e muda o seguinte:

ErrorDocument 400 /400.shtml
ErrorDocument 401 /401.shtml
ErrorDocument 403 /403.shtml
ErrorDocument 404 /404.shtml
ErrorDocument 500 /500.shtml


altera os *.shtml pelo o que vc quiser. wink.gif
Californication
Lembrando que isso irá prejudicar os outros usuarios... pois não muda só para você, muda para todos então as páginas de erros personalizadas dos outros usuarios irão para de funcionar...

Tente adicionar o que deseja ao invés de alterar:
ErrorDocument 404 /404.php
SysOp
Porque é que voce não faz um redirect no 404.shtml mandando o usuario pro 404.php, que vai fazer oque voce ta querendo...

mais facil do que ficar se matando, nao?
staticx
QUOTE(SysOp @ Apr 27 2006, 05:30 PM)
Porque é que voce não faz um redirect no 404.shtml mandando o usuario pro 404.php, que vai fazer oque voce ta querendo...

mais facil do que ficar se matando, nao?
[right][snapback]5473[/snapback][/right]



Aqui vai um exemplo:

<head><meta http-equiv='refresh' content='2;URL=javascript:history.back()'></head>

Ele volta pra pagina enterior que o usuario estava antes do erro.

Agora se vc quiser uma coisa mais especifica, do tipo, voltar pa raiz do site principal, ai teria que ser feito em php

Por que veja bem se eu usar:

<meta http-equiv='refresh' content='0;URL=../'>

ele pode voltar pra raiz, mas se vc tiver um subdir por exemplo site.com.br/images/pasta ai com o codigo

<meta http-equiv='refresh' content='0;URL=../'>

ele vai cair direto na pasta images, mas se usarmos o php para separar a string da url e colocar o dominio

<meta http-equiv='refresh' content='0;URL=$dominio'>

ai sim vai dar certo, mas a pagina devera ser .php


No mais use esta que é o exemplo de voltar via javamesmo.

<head><meta http-equiv='refresh' content='2;URL=javascript:history.back()'></head>

Caso queira alterar o tempo de refresh mude no 2


LEMBRANDO QUE ESSE REDIR DE JAVA so vai funcionar se tiver uma pagina em cache, ou seja uma pagina anterior no historico da janela que voce esta

Se vc abrir uma janela agora nova do navegador e colocar www.site.com.br/arquivonaoexiste ele vai continuar la, mas se vc tiver vindo de uma outra pagina ai funciona, ele volta pra tras,

Se voce quiser redir pra uma pagina em php especifica e de la fazer o que vc quer, use
<head><meta http-equiv='refresh' content='2;URL=pagina.php'></head>

apenas


abraços
junior_vieira
QUOTE(Californication @ Apr 27 2006, 10:57 AM)
Lembrando que isso irá prejudicar os outros usuarios... pois não muda só para você, muda para todos então as páginas de erros personalizadas dos outros usuarios irão para de funcionar...

Tente adicionar o que deseja ao invés de alterar:
ErrorDocument 404 /404.php
[right][snapback]5461[/snapback][/right]


Colega eu fiz isto, porém agora aparece o erro default do navegador ohmy.gif tem outro lugar ou outra proteção que pode estar bloqueando?

Atenciosamente

Junior
elvisreis
Edite o seu arquivo .htaccess que se encontra no diretorio public_html
e adicione a linha

# -FrontPage-

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
php_flag register_globals on
AuthName www.vistamegashop.com
AuthUserFile /home/user/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/user/public_html/_vti_pvt/service.grp
ErrorDocument 404 /404.php
junior_vieira
Olá Elvis,
Obrigado por sua dica resolvi com a função do apache segue abaixo caso alguem precise.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ http://192.168.0.3:89/diretorio/modules.ph...ername=$-l
</IfModule>





QUOTE(elvisreis @ Sep 4 2007, 12:44 PM)
Edite o seu arquivo .htaccess que se encontra no diretorio public_html
e adicione a linha

# -FrontPage-

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
php_flag register_globals on
AuthName www.vistamegashop.com
AuthUserFile /home/user/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/user/public_html/_vti_pvt/service.grp
ErrorDocument 404 /404.php
[right][snapback]22515[/snapback][/right]

Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2009 Invision Power Services, Inc.