Jump to content
brunoais

.htaccess: Ajuda para o o uso de ErrorDocument para 404 para programa php

Recommended Posts

brunoais

Eu queria usar um ErrorDocument personalizado para um programa em php que tenho. Para isso preciso de ajuda para:

[*]Saber o caminho até ao .htaccess no .htaccess

[*]Saber se o servidor permite ter uma página de erro personalizada (para não dar estado 500)

Alguém me pode ajudar?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
softklin

Acho que este link responde às duas perguntas:

http://www.javascriptkit.com/howto/htaccess2.shtml

Se não estou em erro, podes usar caminhos absolutos desde a raiz do servidor. Inclusive podes mudar os erros do tipo 5XX.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
brunoais

Nessa página não existe resposta às minhas perguntas.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
brunoais

O ErrorDocument é suposto ser referente ao site (directoria aonde o .htaccess está e subdirectorias).


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
softklin

Então, mas colocando o htaccess na raiz do teu website, não é suficiente para abranger erros de todas as páginas? Queres que o teu error document seja "dinâmico", isto é, que seja personalizado de acordo com a página que não foi encontrada, ...?

Para a tua segunda pergunta, no website indica que podes personalizar os erros 500, e da forma que deves fazer.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
brunoais

O meu problema é que eu não sei aonde é que o .htaccess está em relação ao root. pode estar em:

/path/to

ou em

/path/to/the/server/hardware

ou em

/path/to/my/script

Eu não sei e preciso de ajuda nisso. Cmo é que eu sei num .htaccess aonde é que ele está em relação ao root.

Queres que o teu error document seja "dinâmico", isto é, que seja personalizado de acordo com a página que não foi encontrada, ...?

Não. Quero é colocar um link para o meu script que contém a informação a mostrar quando o status 404 ocorre. Esse script irá estar sempre no mesmo sítio em relação ao .htaccess mas nunca no mesmo sítio em relação ao root no servidor aonde vai estar a executar.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
unnamed15

Bem, boas.

Eu sou novo neste fórum, mas penso que sei resolver o teu problema (se bem percebi) o que tu queres é "personalizar" a tua errorpage 500 ( Internal Server Error ).

Para isso, tens de meter no teu .htaccess está linha:

ErrorDocument 'Código do Erro' 'path'

Isto serve para todos os erros.

Exemplo:

    ErrorDocument 500 errorpages/error500.html (Neste exemplo que dei, o 'errorpages' é a pasta e o '500.html' é o ficheiro).

    ErrorDocument 500 error500.html (Assim, é apenas o ficheiro dentro do root folder (public_html)).

Espero ter ajudado,

Cumpz

h4exe

Share this post


Link to post
Share on other sites
brunoais

(Pensava que já tinha enviado isto)

Não funciona. Ele escreve:

errorpages/error500.html

ou

Dá: ficheiro não encontrado


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
IceBrain

Segundo os docs, um path local tem que começar por /:

ErrorDocument 500 /errorpages/error500.html


❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Share this post


Link to post
Share on other sites
brunoais

pois mas eu não sei à priori aonde é que o ficheiro .htaccess está em relação ao root do servidor


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
IceBrain

O root é a directoria base para onde carregas os ficheiros. Num shared hoster, há um DocumentRoot para cada conta, não é um geral.

Em alternativa, podes pôr o URL completo no ErrorDocument:

ErrorDocument 500 http://meusite.com/errorpages/error500.html


❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents

A list  of command line apps

Share this post


Link to post
Share on other sites
brunoais

há maneira de fazer isso para um programa em php para distribuir cmo open source?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
unnamed15

O root é a pasta /public_html. Tu só precisas de meter o .htaccess dentro da pasta public_html, com a linha que eu dei, sem "/" que fica a funcionar. Se for preciso, até faço prints para verem. Isso, detecta automaticamente a errorpage assim que ocorre o erro.

Share this post


Link to post
Share on other sites
brunoais

prints sff


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
unnamed15

Peço imensa desculpa pela demora na resposta, mas aqui vai:

print1e.png

  Pic 1: Esta é a pasta do teu root principal do alojamento, aqui nesta pasta, não deve colocar nada, pois caso queira ver esta 'página' na web, não vais conseguir.

print3x.png

    Pic 2: Aqui, já te encontras no root do site (visível na web), ou seja, pasta /public_html onde está localizado o teu ficheiro .htaccess.

print4g.png

    Pic 3: Dentro do .htaccess, metes os códigos de erro, que queres gerar a página. No exemplo, vou usar o erro 404 pois é o mais fácil de geral.

print5.png

    Pic 4: Aqui, como se pode verificar, existe uma pasta com o nome 'error', e esta pasta está localizada dentro do /public_html.

print6k.png

    Pic 5: Dentro da pasta /public_html/error, já se encotram os ficheiros chamados pelo .htaccess, dentro dos dos ficheiros apenas vou escrever "PoweredBy: sadAXE", e a página ao requesitar 'X' página, vai mostrar isso, em vez de mostrar o tipo errorpage de not found.

print6a.png

    Pic 6: E pronto, como se pode ver, a página foi gerada para um endereço inexistente, neste caso era /asdsad.

Espero ter ajudado, e esclarecido as vossas dúvidas. Caso queriam, faço o .htaccess com todos os error que possam ocorrer, e meti aqui para fazerem download.

Share this post


Link to post
Share on other sites
brunoais

isso só funciona se eu meter o programa na pasta public_html (root do servidor). Então e se por dentro de uma pasta no servidor?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
brunoais

Isto é para um programa freeware (adicionar funcionalidade).

E como programa pode ser colocado em qualquer lado. Os caminhos relativos entre cda ficheiro é sempre o mesmo mas os absolutos são sempre diferentes e não há garantia que os caminhos absolutos sejam iguais de servidor em servidor.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
brunoais

Um programa, que não se paga para se obter, escrito em PHP, para ser usado em qualquer servidor, em qualquer pasta.

Precisa de ser quase tão flexível como o o PHPBB ou o SMF (em relação aos servidores aonde funciona)


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
unnamed15

A única coisa que tens de fazer é meter o .htaccess dentro da pasta root ( /public_html ).. E por exemplo, tens uma subpasta / subdirectoria, e dentro da pasta /public_html tens o teu .htaccess a gerar o erro 404.. Imagina que tens aceder a um ficheiro inexistente como ( www.teulink.com/file123412.html ) ele automaticamente gera o erro, correcto? O mesmo se sucede se tentares aceder a um ficheiro dentro da tua subpasta ( www.teulink.com/folder1/file123412.html ), o teu .htaccess tem de estar SEMPRE na pasta /public_html e tens tudo feito. O mesmo se aplica a instruções de ModeRewrite.

Share this post


Link to post
Share on other sites
brunoais

Então e se o .htaccess estiver dentro da pasta folder1 (juntamente com o resto do programa) se der erro 404 como é que eu indico que a página para o erro 404 está no /folder1/errors/error404.html.

E se o .htaccess estiver dentro da pasta folder2 (juntamente com o resto do programa) se der erro 404 como é que eu indico que a página para o erro 404 está no /folder2/errors/error404.html. Isto com o mesmo código


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
brunoais

Só uma última tentativa:

Há maneira de ter um "install.php" a saber qual é o sítio aonde ele está em relação ao root do servidor e depois escrever no .htaccess o código do .htaccess que inclui este ErrorDocument? Isto é. O php ter uma função qq para obter o caminho completo desde o root do servidor até aonde o sítio aonde o código php está a executar e usar isso para escrever no .htaccess?


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.