03. juli 2003 - 11:06Der er
74 kommentarer og 2 løsninger
fejl500 ved errordocument 401 i .htaccess.
jeg er ved lave mine egne fejlbeskeder og da jeg har en del sider beskyttet af .htaccess kunne det være sjovt at se en anden side end den kedelige 401.. blabla..
-derfor kiggede jeg på webcafé og blev klogere, smed dette i min .htaccess :"ErrorDocument 401 /LOKAL/sti/til/fil.navn
-det giver en internal server error når jeg prøver komme ind på siden.
.htaccess har virket i næsten et år. det er altså kun når jeg tilføjer den ene linje i min .htaccess.
Kan det være noget i httpd.conf. ?
Kan det være noget med / eller \
Kan det være fordi den fil stien peger på ikke er HTML men istedet php. ?
jeg har læst mange ander indlæg her på exp og det ser ud til at de fleste opgiver.. -skal vi ikk gøre det ordentligt denne gang.
-det er en apache 2.0.46 på w32. php 4.3.2 der er 200 point for hurtig hjælp!
-skal man ikke skrive noget i httpd.conf for at apache leder efter .htacces eller noget. jeg synes at kunne mindes jeg skulle skrive et eller andet lign stien til det dir jeg ville beskytte med .htaccess før det virkede.
kan det være man skal angive at .htaccess skal overtage fejl 401?
je har ført følgende ind i min httpd.conf for at få passwordbeskyttelsen til at virke: <Directory "lokal/sti/til/beskyttet/dir"> Allowoverride AuthConfig </Directory>
uden dette virker .htacces ikke.. selvom filen er i det dir der skal beskyttes.
Kan det derfor tænkes man skal føre noget ind i httpd.conf for at den kan finde ud af det med errordocument 401 ?
oki. nu begynder det at ligne noget. jeg får ikke længere fejl 500 med errordocument linjen i .htaccess men det giver heller min egen fejl401.php side. nederst på apache alm 401 side står dette: "Additionally, a 401 Authorization Required error was encountered while trying to use an ErrorDocument to handle the request. "
-hmm, det er som om den ikk kan læse min sti. skal den være absolut dvs. drevbogstav:\sti\sti\sti\ eller kan man nøjes med at starte fra der hvor man har specificeret documentroot?
Du skal skrive den absolutte lokale sti til 401-dokumentet
Mener også at det betyder noget om du har det liggende i det bibliotek du kræver adgang til, hvis du har det liggende i en side der ikke er adgang til bliver det svært at vise den ;o)
hmm. i errorloggen ser det ud til at den vil ha et pass for at vise 401.php også.. det kan også forklare hvorfor jeg på et tidspunkt fik mere end 3 auth boxe..
det virker nu. desværre kan jeg bare ikk få den til at hente 401.php fra andre dir end det aktulle.. -det ville jo være smart hvis man kunne nøjes med at have den et enkelt sted.
det er lidt mærkerligt at det der kommer i errorloggen hvis jeg prøver at hente 401.php fra andre steder end det bibliotek som den skal servere alt det andet fra. se denne. : "[Thu Jul 03 14:14:48 2003] [error] [client 123.456.789.10] user minbruger: authentication failure for "/den/sti/jeg/lige/har/skrevet/ind/i/.htaccess/401.php": Password Mismatch"
htm: jeg har lige prøvet at skrive absolut fuld sti. det virker heller ikk. der får jeg apache standard fejl -fjerner jeg det "/" foran min sti som skal vise det er en lokal sti så får jeg fejl 500 igen. -prøver lige med ""
du har www.domain.dk og du ønsker at passwordbeskytte www.domain.dk/forbudtmappe - du lægger så din 401.php i www.domain.dk/401.php - her er der altså ingen passwordbeskyttelse. du referer så til dokumentet i din .htaccess med enten c:/sti/til/mappe/401.php eller /401.php
I det tilfælde får du så også den fejl i din error.log?
jeg kan bare ikke få apache til at kalde filer under det niveau som den mappen med .htacces serveres fra. dvs. jeg kan ikke få apache til at vise min egen 401.php fra en andet dir. En dybere dir struktur umuliggøres af en .htaccess i et tidligere dir. og en bug eller bare en stiv mig kan kun få .htaccess til at vise lokale filer via / før stinavn. hvilket også resulterer i apache forsøger at servere et dokument fra en dir i en dybere dir-struktur. altså aktueltstinavn+/det som jeg skriver efter / i .htaccess. prøver jeg at skrive absolut fuld sti så får jeg bare denne, læg mærke til fejlen i bunden:"Authorization Required This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request." -altså standard siden med en ekstra fej i bunden..
-dette giver ingen fejl i errorloggen udover jeg kan se at der er tastet forkert pass ind 3 gange.
-jeg løber snart tør for tålmidighed.. hehe.. næste gang bliver det unix.. jeg kan bare mærke det er en en windowsbug af en eller anden art. hehe
1. Din præcise mappestruktur - og hvilken mappe du ønsker passwordbeskyttet, samt hvor fejldokumentet ligger
2. Indholdet af din .htaccess
3. Samt hvad du har sat denne til:
# # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All
dokumentroot er ifølge apaches conf: d:\server\web\apache\apache2\htdocs skal ha beskyttet d:\server\web\apache\apache2\htdocs\stats
her kommer min .htaccess: ErrorDocument 401 /401.php AuthType Basic AuthName "Indtast password" AuthUserFile d:\pass.txt Require valid-user
her er min nr 3. fra httpd.conf # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None
# # Controls who can get stuff from this server. # Order allow,deny Allow from all
denne sættes sådan <Directory /> Options FollowSymLinks AllowOverride None </Directory>
og den du lige har postet ændrer du til
# # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All
# # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All
Du skal selvfølgelig også have sat denne til det som der står i din document_root: # # This should be changed to whatever you set DocumentRoot to.
Hmm er ved at være ret blank - matcher dit servername dit domænenavn? Hvis du eks, har pingvin.dk står der også pingvin.dk i servername? eller hvis du ikke har noget så brug din IP-adresse til servername!
Ved ikke om det har nogen betydning for 401-errors eller om det har betydning i dit tilfælde. Men IE ignorerer i hvert fald 404-dokumenter som er under 512 byte store, måske gør det sig også gældende her? Prøv og vær sikker på at dit 401 dokument er over 512 byte!
jeg opgiver.... desværre har jeg ikke tiden til at rode mere med det. -Jeg skal nok vende tilbage hvis jeg løser opgaven. -i får point for jeres ulejlighed.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.