Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Uruchamianie app.php po wejściu na stronę
Forum PHP.pl > Forum > PHP > Frameworki
Szymciosek
Witam
jak zrobić (może to tylko kwestia htaccess, ale wątpię dlatego pytam) aby po wejściu na stronę www.xxx.pl uruchamiał się od razu folder www.xxx.pl/web ?

oczywiście nie chce mieć tego widocznego w url.


Przy zmianie w htaccess (dodaniu) web/app.php otrzymuję błędy:

Kod
No route found for "GET /labs/Symfony/site/"

404 Not Found - NotFoundHttpException
1 linked Exception:
ResourceNotFoundException ?

[2/2] NotFoundHttpException: No route found for "GET /labs/Symfony/site/"  

[1/2] ResourceNotFoundException:    

Logs  

1 error
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest".
Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onEarlyKernelRequest".
Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest".
Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest".
Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onKernelRequest".
Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException".
Notified event "kernel.exception" to listener "Symfony\Component\HttpKernel\EventListener\ExceptionListener::onKernelException".
Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /labs/Symfony/site/" (uncaught exception) at F:\WORK\labs\Symfony\site\vendor\symfony\src\Symfony\Bundle\FrameworkBundle\EventListener\RouterListener.php line 83
Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest".
Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onEarlyKernelRequest".
Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest".
Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest".
Notified event "kernel.request" to listener "Symfony\Bundle\FrameworkBundle\EventListener\RouterListener::onKernelRequest".
Notified event "kernel.request" to listener "Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest".
Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector::onKernelController".
Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController".
Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController".
Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController".
Notified event "kernel.controller" to listener "JMS\SecurityExtraBundle\Controller\ControllerListener::onCoreController".



Dodam jeszcze, że próbowałem też dodać w głównym katalogu plik index.php, który będzie miał w sobie include ('web/app.php');
lecz nie zdało to egzaminu, po prostu gdzieś ścieżki do zdjęć itd itp pouciekały.
bambam
a co masz w routingu? wklej
Szymciosek
  1. /**
  2.   * @Route("/", name="homepage")
  3.   * @Template()
  4.   */
  5. public function indexAction()
  6.  
  7. /**
  8.   * @Route("/gallery", name="gallery")
  9.   * @Template()
  10.   */
  11. public function galleryAction()
  12.  
  13. /**
  14.   * @Route("/shop", name="shop")
  15.   * @Template()
  16.   */
  17. public function shopAction()
  18.  
  19. /**
  20.   * @Route("/about_us", name="about_us")
  21.   * @Template()
  22.   */
  23. public function aboutAction()
  24.  
  25. /**
  26.   * @Route("/contact", name="contact")
  27.   * @Template()
  28.   */
  29. public function contactAction()


Dodam, że po bezpośrednim wejściu w web/app.php oraz sam folder web wszystko działa jak nalezy.
usb2.0
nvm
peter13135
A jak to na serwer wrzuciłeś ?

Folder web powinen mieć nazwę np. public_html, reszta folerów, jak app, vendors, src są nie w public_html tylko równolegle do niego.
Szymciosek
No to jeśli w ten sposób, to mój błąd i zaraz spróbuję to naprawić u siebie, co nie zmienia faktu, że nie zawsze chcę od razu wrzucać do głównego katalogu na serwerze tylko np własnie chciałbym do labs/strona_klienta żeby sprawdzać jak to działa, da się wtedy zrobić coś żeby od razu wchodził do web/app.php ? Wiem, że mogę sam tam wejść, po prostu pytam z ciekawości.
ano
Masz trzy opcje:

1. Wystarczy zmienić DocumentRoot:
http://httpd.apache.org/docs/current/mod/c...ml#documentroot

2. Zmiana w .htaccessie typu:
Kod
RewriteEngine on
RewriteRule ^/$ /web/

(http://httpd.apache.org/docs/2.0/misc/rewriteguide.html)

3. Jeśli nie mozesz zmienić ani DocumentRoota ani dodać reguły do htaccessa to zamiast w web, przechowuj pliki publiczne w public_html (standardowy na jakichśtam hostingach wirtualnych etc.)
bambam
Mam ten sam problem:


Chce sie pozbyc app_dev.php z linku aplikacji.

narazie mam w taki sposob:

www.demo.com/web/app_dev.php <-na takim linku wszystko dziala

Przekierowalem domene na folder web i teraz:

www.demo.com <- na tym linku strona głowna dziala ale iedy proboje kliknac w jakis link menu np:

www.demo.com/category/

to dostaje komunikat:

Not Found

The requested URL /video/sports was not found on this server.


do www.demo.com/category/ moge sie dostac tylko za pomoca www.demo.com/web/app_dev.php


jak się tego pozbyc bo nigdzie nie moge znalezc info na ten temat, chcialbym miec czyste linki czyli www.demo.com/category/.


Z góry dziekuje za pomoc pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.