DirectAdmin error map
Ik ben bezig met htaccess, maar het lukt me niet om dit probleem op te lossen. :/
Wat ik graag wil is dat als een pagina of map niet bestaat, een custom error pagina wordt weergeven.
Tot dusver werkt dit, behalve wanneer ik /error/ aanroep. Deze geeft altijd het volgende weer:
Code (php)
1
2
2
You don't have permission to access / on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Nu heb ik gemerkt dat dit alleen het geval is wanneer ik DirectAdmin op mijn server heeft staan. En ook de site van DirectAdmin zelf heeft dit 'probleem':
http://www.directadmin.com/error/
Op Google kan ik hier niets over vinden.
Weet hier iemand hoe je dit oplost?
Alvast bedankt!
Is /error niet al voorbehouden voor de algemene error-map? Gebruik eens een andere naam voor deze map.
Het is niet de bedoeling dat ik een map wil aanmaken die /error/ heet, ik zou graag willen dat wanneer in de adresbalk /error/ wordt getypt, deze ook gewoon naar mijn eigen error pagina gaat.
Tenzij je zin hebt om DirectAdmin misschien zover te hacken, waarna je na een update weer terug bij af bent.
Waarom wil je eigenlijk /error laten verwijzen naar je errorpagina? Je zou eventueel ook een subdomeinnaam kunnen overwegen.
Gewijzigd op 30/01/2015 12:13:15 door - Ariën -
Maar dan zal er niks anders opzitten dan dit gewoon zo te laten, helaas.
Bedankt voor je hulp in ieder geval! :)
Redirect 301 /error/ mycustomerror
Als ik dit doe, dan laat /error/ zien wat er op index.php staat:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /public/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /public/index.php [L]
Maar wanneer ik het volgende doe, werkt het weer niet.
Redirect 301 /error/ http://www.mijnsite.nl/bestaatniet
(mijnsite.nl uiteraard vervangen door de naam van jouw site)
Gewijzigd op 30/01/2015 13:12:08 door Lord Gaga
En als je in mijn voorbeeld /error/ vervangt door /error ? (zonder die laatste slash?
Dat werkt wanneer ik /error in de adresbalk type, maar niet bij /error/ en daar is waar het probleem ligt.
exit('test!');
En ga dan eens naar mijnsite.nl/error/
Wat komt er dan in beeld te staan?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /public/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /public/index.php [L]
Het punt is alleen, ik wil niet alle pagina's naar /public/index.php sturen.
/foo.php moet naar /public/foo.php
/bar.php moet naar /public/bar.php
etc.
Als je die regel in index.php zet, en je gebruikt het .htaccess bestand niet, wat gebeurt er dan?
Code (php)
1
2
3
2
3
Forbidden
You don't have permission to access /error/ on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
You don't have permission to access /error/ on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Gewijzigd op 30/01/2015 13:35:08 door Lord Gaga
Dat is precies wat ik wilde weten. Dan lijkt het erop dat die error-pagina al wordt aangerooepen nog voordat het request binnenkomt in de document root, dus een niveau hoger als het ware. Dan vrees ik eigenlijk dat je er niks aan kunt doen via htaccess. Ik denk dat je het een nivea hoger moet zoeken.
Ik ben op dit moment de hele mappenstructuur van mijn server aan het doorzoeken naar een map of bestand dat error heet, en het ziet er naar uit dat in /var/www/ een map zit die error heet.
Dat zou kunnen. Wellicht zit daar een .htaccess bestandje in, maar het kan ook in je (hoe heet dat bstand ook weer) httpd.conf (geloof ik) zitten. Alleen ik weet niet of je daar veilig aan kunt sleutelen.
Ik zou het afraden, omdat je niet weer of DirectAdmin het leuk zou vinden.
Er zitten meerdere mappen in /var/www/ en als ik die in de adresbalk invul krijg ik gewoon te zien dat die mappen niet bestaan, misschien kan ik er ergens voor zorgen dat dit ook met de error map gebeurd. In httpd.conf heb ik niets kunnen vinden wat ik zou kunnen wijzigen dat dit probleem eventueel zou verhelpen.
Nee, dat weet ik ook niet. Wellicht heeft DA een post-configuratiebestandje dat je wel veilig kunt aanpassen en waar je de instelling kunt aanpassen.