pakko on taas tunnustaa tyhmyytensä ja kysyä apua salasanasuojauksen virhesivujen polkumääritykseen. elikäs operoin cpanelilla ja kun muodostan sieltä kautta salasanasuojauksen jollekin hakemistolle, niin cpanel muodostaa tarvittavan .htaccess-tiedoston.
en saa ohjelmaa löytämään virhesivuja mitenkään vaikka asettelen polkumääritykset mihin asentoon tahansa. kuinka se pitää tehdä? alla .htaccess-tiedostoni:
AuthUserFile "/home/kayttajatunnus/.htpasswds/public_html/
AuthType Basic
AuthName "Please give your password"
require valid-user
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php
Kyllä nuo virhesivut näyttävät olevan ihan oikein määritelty. Olethan kuitenkin huomioinut, että ne määritellään suhteessa palvelimen DocumentRootiin. Jos käytät jotain ilmaista sivutilaa, DocumentRoot ei todennäköisesti ole sama hakemisto kuin se, jossa sivusi ovat.
ilmeisesti virhesivut eivät ole suhteessa rootiin, kun ne eivät löydy. eikös cpanelissa root ole nimenomaan public_html? tuo error-hakemisto on suoraan sen alla.
Koita laittaa esimerkiksi /home/käyttäjätunnus/public_html/error/... tai miten se koko polku sulla onkaan.
Katso mitä $_SERVER["DOCUMENT_ROOT"] palauttaa, ja kokeile sitä polkua.
makumaku kirjoitti:
Katso mitä $_SERVER["DOCUMENT_ROOT"] palauttaa, ja kokeile sitä polkua.
/usr/local/apache/htdocs
enpä löydä kysseistä polkua mistään. ei varmaan saa esille normaalin hakemistorakenteen kautta?
Mikä kumma siinä on, ettei asia ratkea kokeilemalla tai Apachen ohjeita lukemalla? Aloita vaikka näistä:
Palvelimen hakemistorakenteen ymmärtämistä varmaan auttaisi, jos asentaisit omalle koneellesi (virtuaalikoneeseen) jonkin Linuxin ja siihen oman palvelimen kaikilla herkuilla.
sitä kun yksin puurtaa näiden juttujen kanssa, niin joskus käy sokeaksi sille mitä pitää tehdä. tietysti näinhäön se pitää mennä: selaimella mennään osoitteeseen ja varmistetaan, että sivu on saatavilla ja kunnossa (se oli) ja osoiteeksi .htaccess-dokumenttiin tuo /~käyttäjä_tunnus/error/404.php.
näillähän se toimii. kiitos avusta taas kaikille!
Aihe on jo aika vanha, joten et voi enää vastata siihen.