1. Reinaert Van De Cruys Member

    Geen 404 indien URI start met geldig pad

    Topic geplaatst op: 29-08-2016 om 14:53

    Op mijn webserver staat slechts één bestand onder public_html, namelijk 'voorbeeld.txt', en verder geen .htaccess bestanden, ook niet buiten de public_html folder. Wanneer ik nu surf naar

    mijndomein.com/voorbeeld.txt

    dan krijg ik uiteraard dit bestand te zien. Wanneer ik echter surf naar het onbestaande pad

    mijndomein.com/voorbeeld.txt/nog_wat/iets.txt

    krijg ik nog steeds het 'voorbeeld.txt' bestand te zien. Is dit normaal gedrag? Kan ik ervoor zorgen dat de server in plaats daarvan met een 404 Not Found antwoord. Is zoiets mogelijk via .htaccess?

  2. Tom Versio medewerker
    Reactie geplaatst op: 29-08-2016 om 15:24

    U kunt dan in uw .htaccess bestand de volgende regel hieronder toevoegen en een 404.html bestand aanmaken met een error bericht hierin.

    ErrorDocument 404 /404.html

    Vond u dit antwoord nuttig?

  3. Reinaert Van De Cruys Member
    Reactie geplaatst op: 29-08-2016 om 15:34

    Ik geloof dat u mijn vraag verkeerd begrepen hebt. Het probleem is niet dat de server mijn 404 pagina niet kan vinden, het probleem is dat de server wel degelijk een bestand teruggeeft aan de browser ondanks het feit dat de URI niet bestaat, blijkbaar omdat het eerste deel van de URI wel bestaat. Enig idee waar dit aan zou kunnen liggen?

    Vond u dit antwoord nuttig?

  4. Reinaert Van De Cruys Member
    Reactie geplaatst op: 29-08-2016 om 16:09

    Ik ben niet helemaal correct geweest, ik merk nu dat het probleem zich enkel voordoet bij bestanden die eindigen op .php. Dus

    mijndomein.com/voorbeeld.txt/nog_wat/iets.txt

    wordt correct niet gevonden, maar indien ik een bestand 'voorbeeld.php' heb, en ik surf naar

    mijndomein.com/voorbeeld.php/nog_wat/iets.txt

    dan krijg ik in plaats van een 404 Not Found het bestand 'voorbeeld.php' te zien. Enig idee wat hieraan te doen is?

    Vond u dit antwoord nuttig?

  5. Reinaert Van De Cruys Member
    Reactie geplaatst op: 29-08-2016 om 18:10

    Ik vroeg me af of dit kon liggen aan de AcceptPathInfo instelling van Apache.

    http://httpd.apache.org/docs/2.2/mod/core.html#acceptpathinfo

    Volgende lijn toevoegen aan een .htaccess bestand in de public_html folder heeft echter niet geholpen.

    AcceptPathInfo Off

    Zou het daarmee te maken kunnen hebben? Is dat misschien niet de juiste maniet om die instelling uit te schakelen? Of zou het ergens anders aan liggen?

    Vond u dit antwoord nuttig?

  6. Tom Versio medewerker
    Reactie geplaatst op: 30-08-2016 om 10:07

    Helaas zou u dit dan even aan een programmeur moeten vragen. Wij hebben helaas geen afdeling welke script gerelateerde problemen kan oplossen of nakijken.

    Vond u dit antwoord nuttig?

  7. Reinaert Van De Cruys Member
    Reactie geplaatst op: 31-08-2016 om 22:32

    Ik geloof niet dat het om een script gerelateerd probleem gaat. Ik veronderstel dat er een instelling is op de Versio webservers die maakt dat .php bestanden anders behandeld worden dan andere bestandtypes. Ik zou graag willen weten of ik deze instelling kan aanpassen, en zo ja, hoe (het zij via DirectAdmin, via een .htaccess bestand of op een andere manier).

    Vond u dit antwoord nuttig?

  8. Reinaert Van De Cruys Member
    Reactie geplaatst op: 03-09-2016 om 20:38

    Ik heb een oplossing voor mijn probleem gevonden die ik hier zet voor het geval andere mensen er ook wat aan hebben. Ik heb gewoon volgende regels in mijn .htaccess bestand geplaatst:

    RewriteEngine On

    RewriteRule ^(.*).php/.*$ - [L,R=404]

    Deze zeggen in feite "indien de URI een bestand bevat waarvan de naam op .php eindigt, en deze wordt gevolgd door nog een bestand of folder, antwoord dan 404 Not Found". Niet de meest elegante oplossing, maar het doet wel exact wat ik zocht.

    Vond u dit antwoord nuttig?

  9. Reinaert Van De Cruys Member
    Reactie geplaatst op: 03-09-2016 om 20:52

    Correctie, dit is beter:

    RewriteEngine On

    RewriteRule ^.*\\.php/.+$ - [L,R=404]

    Vond u dit antwoord nuttig?