• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Symfony 3 - Routing - dynamic URL test - error 404

Object Storage Arubacloud
0 głosów
864 wizyt
pytanie zadane 19 listopada 2017 w PHP przez michalak Nowicjusz (120 p.)
Witam, właśnie zacząłem naukę Symfony - zainstalowałem wersje 3.3.13 na windows w oparciu o Xampp'a

Pierwsze co zrobiłem to usunąłem plik DefaultController.php z katalogu src utworzonego projektu i stworzyłem swoją nową klase "MyController.php" w tym miejscu, dla przykładu uzupełniłem ją następująco :

<?php

namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class MyController  {
    
    /**
     * @Route("/my")
     */
    
    public function showAction()
    {
        return new Response ('Witamy '  );
    }   

}

Po wejściu na stronę http://localhost/my_project/web/my otrzymałem żądaną wiadomość,

poszedłem wiec o krok dalej zmieniłem swój kod na:

<?php

namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;

class MyController  {
    
    /**
     * @Route("/my/{name}")
     */
    
    public function showAction($name)
    {
        return new Response ('Witamy: ' .$name  );
    }   

}

 i po wpisaniu w przeglądarkę: //localhost/my_project/web/my/michal

zamiast otrzymać odpowiedź: "witamy: michal"

otrzymałem Error 404

Nie mam pojęcia dlaczego tak się dzieje skoro 1 przykład działa to dlaczego 2 już nie?

Proszę o pomoc w rozwiązaniu tego zagadnienia
komentarz 19 listopada 2017 przez zirael [PL] Mądrala (5,200 p.)
Wchodź na projekt przez wersję developerską czyli daj na końcu link slash app_dev.php i zobacz jaki błąd otrzymasz, ale jeśli otrzymujesz błąd 404 to znaczy że strona do której się odnosisz nie istnieje.
komentarz 19 listopada 2017 przez michalak Nowicjusz (120 p.)

kiedy przywróciłem plik DefaultController.php i wpisałem http://localhost/my_project/web/app_dev.php otrzymałem "Welcome to Symfony" 

lecz kiedy zamieniałem ten plik na swój i wpisałem

http://localhost/my_project/web/app_dev.php

otrzymałem: 

 

HTTP 404 Not Found

No route found for "GET /"

ze strony symfony

kiedy wpisałem http://localhost/my_project/web/my/app_dev.php

The server returned a "404 Not Found".

bez strony symfony

ale kiedy wpisuje po prostu http://localhost/my_project/web/my dostaje odpowiedz. 

Kierowałem się tu kursem: https://knpuniversity.com/screencast/symfony/routing-wildcards#play

 

1
komentarz 19 listopada 2017 przez CzikaCarry Szeryf (75,340 p.)
Spróbuj użyć wbudowanego serwera symfony, wtedy będzie pewność, że .htaccess'y połączone z routingiem i położeniem projektu w htdocs nic nie popsuło. http://symfony.com/doc/current/setup/built_in_web_server.html
komentarz 19 listopada 2017 przez michalak Nowicjusz (120 p.)

odpaliłem polecenie: php bin/console server:run 

i wszedłem na http://localhost:8000/my/michal i dostałem żądaną odpowiedź 

lecz jednak gdy odpalam 

http://localhost:8000/my/michal/app_dev.php  

dostaje 

No route found for "GET /my/michal/app_dev.php" 

z dopiskiem u góry HTTP 404 Not Found

czy to znaczy że nadal coś nie gra jak powinno w tym przypadku ?

 

komentarz 19 listopada 2017 przez CzikaCarry Szeryf (75,340 p.)
To znaczy, że wszystko trybi. Po prostu korzystaj z wbudowanego serwera lub odpowiednio skonfiguruj Apache aby root nie był w htdocs, a bezpośrednio w katalogu projektu. Najlepiej, jakbyś użył Nginx, ale wtedy musiałbyś tłumaczyć .htaccessy na język zrozumiały dla nginx :D

1 odpowiedź

0 głosów
odpowiedź 20 listopada 2017 przez CenterPL Pasjonat (19,070 p.)

odpaliłem polecenie: php bin/console server:run 

i wszedłem na http://localhost:8000/my/michal i dostałem żądaną odpowiedź 

lecz jednak gdy odpalam 

http://localhost:8000/my/michal/app_dev.php  

dostaje 

No route found for "GET /my/michal/app_dev.php" 

z dopiskiem u góry HTTP 404 Not Found

czy to znaczy że nadal coś nie gra jak powinno w tym przypadku ?

Bo źle wpisujesz ścieżkę, powinno być http://localhost/web/app_dev.php/my/michal a w przypadku używania serwera Symfony  http://localhost/app_dev.php/my/michal

Podobne pytania

0 głosów
2 odpowiedzi 502 wizyt
pytanie zadane 13 października 2017 w PHP przez CenterPL Pasjonat (19,070 p.)
0 głosów
0 odpowiedzi 86 wizyt
pytanie zadane 16 stycznia 2022 w JavaScript przez Bakkit Dyskutant (7,600 p.)
0 głosów
1 odpowiedź 257 wizyt
pytanie zadane 12 marca 2017 w PHP przez niezalogowany

92,634 zapytań

141,505 odpowiedzi

319,883 komentarzy

62,015 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...