Hvordan bruger man htaccess til dynamisk at lave sti til fejl 404?

Tags:    htaccess

Hej.

Jeg sidder lidt og tænker, om det er muligt at gøre htaccess dynamisk til at ændre stien til ErrorDocument 404, ved at tjekke på domænenavnet det ligger på?

Det er mest, så man ikke skal ændre det, når man uploader en side til internettet på et tidspunkt. Det skal jo helst også virke på localhost.

På forhånd, tak for hjælpen.



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Fold kodeboks ind/udKode 


Ellers check altid .htaccess fra HTML5BoilerPlate, den er altid fyldt med en masse større og mindre fifs ;)
https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess



den her er især sjov og faktisk også vigtig til dem der leger med css3 og html5 features:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 27.02.2013 13:53 af Bruger #17081
Fold kodeboks ind/udKode 


Ellers check altid .htaccess fra HTML5BoilerPlate, den er altid fyldt med en masse større og mindre fifs ;)
https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess



den her er især sjov og faktisk også vigtig til dem der leger med css3 og html5 features:
Fold kodeboks ind/udKode 


Jeg tænkte mest på at gøre det dynamisk, så den bruger domænenavnet til at angive stien til f.eks. fejl 404 siden etc, hvis det er muligt.



Hey Tobias,

jeg er ikke helt sikker på hvad det er du vil opnå?

Din 404 side, vil formentligt (forhåbentligt!) ikke ændre filnavn fra dit kode-/testsetup til dit produktionsmiljø, da HTTP errorpages bør være så simple at lige meget hvad der ellers måtte bryde sammen på din server (udover selve apache/IIS/...) så kan de fremvise en fejl-side til brugerne og der sjældent er behov for at ændre fra "404.html" til "404.xyz" :)

din webserver skulle helst gerne bare lave en HTTP redirect til /404.html (eller hvad din fil nu hedder), hvilket fortæller browseren "hent denne her fil, på det domæne du har tilgået". Således er det lige meget om du tilgår sitet via:

http://detenedomæne.dk/sidederikkefindes.html
eller
http://detandetdomæne.com/sidederikkefindes.html

de vil blive viderestillet til hhv.
http://detenedomæne.dk/404.html
eller
http://detandetdomæne.com/404.html

hvis og såfremt at din .htaccess indeholder
"ErrorDocument 404 /404.html"
og ikke
"ErrorDocument 404 http://detenedomæne.dk/404.html"


Håber det kan bruges, ellers må du meget gerne uddybe hvad du vil opnå, gerne med eksempler :)



Hey Tobias,

jeg er ikke helt sikker på hvad det er du vil opnå?

Din 404 side, vil formentligt (forhåbentligt!) ikke ændre filnavn fra dit kode-/testsetup til dit produktionsmiljø, da HTTP errorpages bør være så simple at lige meget hvad der ellers måtte bryde sammen på din server (udover selve apache/IIS/...) så kan de fremvise en fejl-side til brugerne og der sjældent er behov for at ændre fra "404.html" til "404.xyz" :)

din webserver skulle helst gerne bare lave en HTTP redirect til /404.html (eller hvad din fil nu hedder), hvilket fortæller browseren "hent denne her fil, på det domæne du har tilgået". Således er det lige meget om du tilgår sitet via:

http://detenedomæne.dk/sidederikkefindes.html
eller
http://detandetdomæne.com/sidederikkefindes.html

de vil blive viderestillet til hhv.
http://detenedomæne.dk/404.html
eller
http://detandetdomæne.com/404.html

hvis og såfremt at din .htaccess indeholder
"ErrorDocument 404 /404.html"
og ikke
"ErrorDocument 404 http://detenedomæne.dk/404.html"


Håber det kan bruges, ellers må du meget gerne uddybe hvad du vil opnå, gerne med eksempler :)


Tja, det er fordi jeg tester det på localhost på http://localhost/darkrune_nyhedssystem/fejl/404, hvor jeg dog nok når det kommer live kommer til at køre det på f.eks. http://domæne.dk/fejl/404 istedet, så der er en undermappe til forskel.

Jeg har indtil videre også noget andet, som har indvirkning på, hvordan jeg kan skrive det, som ser sådan ud:
Fold kodeboks ind/udKode 


Det første fjerner .php bagefter filerne, så urlen bliver lidt pænere. Dog opstår der problemer, hvis jeg skriver:
Fold kodeboks ind/udKode 


Eller hvis jeg skriver:
Fold kodeboks ind/udKode 


Hvis jeg derimod skriver:
Fold kodeboks ind/udKode 


Så vil der ikke komme nogen rigtig fejl, men mit stylecheet vil holde op med at fungere. Desuden ser det ikke ud, som om den redirecter til 404 siden.

Er der en måde at ordne det på?



Hmm, lige meget hvad ender du ud i nogle "sjove" lappeløsninger.

Personligt ville jeg nok skrive et deploy script, der strippede "darkune_nyhedssystem/" fra .htaccess mv. til når der skulle deployes mod din reelle webserver :)



t