free00 0 Zgłoś post Napisano Październik 28, 2013 Mam dziwny problem, otóź po wpisaniu adresu strony domena.com/test.php/(tutaj_cokolwiek) wyświetla się strona domena.com/test.php a powinien być błąd 404. Jest tak zawsze gdy dodam / po podstronie która faktycznie istnieje a po / mogę wpisywać głupoty a serwer i tak wyświetli stronię zamiast 404. Natomiast gdy wpiszę domena.com/cokolwiek i nie ma takiej podstrony to wtedy jest OK i zwraca błąd 404. Wie ktoś w czym tkwi problem? Z góry dzięki za pomoc. Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Październik 29, 2013 (edytowany) Jeśli to jakiś nginx to zapomniałeś try_files i masz dość poważny bug security. W innym przypadku problem jest identyczny, serwer WWW po prostu przekazuje wszystko po pliku .php jako AGRS zamiast sprawdzić czy ścieżka jest poprawna. Edytowano Październik 29, 2013 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
free00 0 Zgłoś post Napisano Październik 29, 2013 Serwer to apache, nie za bardzo zrozumiałem ocb. Mógłbyś napisać coś więcej, gdzie szukać problemu? W pliku htaccess mam tylko przekierowanie wszystkiego na www . Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Październik 29, 2013 (edytowany) Widzisz, nie siedzę już tak głęboko w apache'u i nie pamiętam jakiej regułki się używało. Anyway w nginxie jest to coś takiego: try_files $uri =404; Ta linijka sprawdza czy plik istnieje, w przeciwnym wypadku wyrzuca 404. Dopiero po takim sprawdzeniu nginx sprawdza czy plik jest .php i jak tak przekazuje do fpm'a. Z tego co pamiętam apache ma to w defaulcie. W każdym razie szukać musisz albo w .htaccess albo w ustawieniach apache'a, nie php. Ew. poszukaj w googlu po haśle "apache try_files". Może coś znajdziesz. Edytowano Październik 29, 2013 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach