Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Symfony - konfiguracja przekierowania w routing.yml
Forum PHP.pl > Forum > PHP > Frameworki
Hektor132
Witam
W katalogu apps/backend/config mam plik routing.yml a w nim:

  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  3. </head>
  4. <PRE># You can find more information about this file on the symfony website:
  5. # <a href="http://www.symfony-project.org/reference/1_4/en/10-Routing&lt;/PRE&gt;" target="_blank">http://www.symfony-project.org/reference/1...ing</PRE></a>
  6. <PRE># default rules
  7. homepage:
  8. url: /
  9. param: { module: admin, action: actions }</PRE>
  10. <PRE># generic rules
  11. # please, remove them by adding more specific rules
  12. default_index:
  13. url: /:module
  14. param: { action: index }</PRE>
  15. <PRE>default:
  16. url: /:module/:action/*</PRE>


Czy może mi ktoś podpowiedzieć jak zrobić następujące przekierowanie

http://localhost/admin
przekierowuje na:
http://localhost/backend.php/admin

Pod drugim adresem mam widoczną stronę właściwą i chciałbym aby wyświetlała się ona po wpisaniu adresu pierwszego.
Crozin
To raczej w .htaccess powinieneś ustawić by wszelkie żądania rozpoczynające się na "admin" były kierowane do pliku backend.php.
Hektor132
ok spróbuje ale wszędzie piszą, że chodzi o routing.yml questionmark.gif?

a po wpisaniu skróconego adresu:
http://localhost/backend.php

również otrzymuję komunikat:
This page is part of the symfony default module. It will disappear as soon as you define a homepage route in your routing.yml
Więc chyba to w routing.yml coś by trzeba pomajstrować.

ale nawet jeśli całkowicie go usunę to nic sie nie zmienia - sam nie wiem czy ma on jakiś wpływ na tą sytuację.
czekam na podpowiedzi jeśli ktoś coś więcej wie o tym pliku.
destroyerr
Wpisy w pliku routing.yml odpowiadaja za routowanie w obrebie aplikacji, a nie w obrebie serwera. Czyli rozwiazanie ktore podal Ci Crozin jest w 100% poprawne a grzebanie w routing.yml nic Ci nie da. Oczywiscie sa tez inne rozwiazania ale sprowadzaja sie do tego samego.
Hektor132
Ok w takim razie zawartość .htaccess:
  1. Options +FollowSymLinks +ExecCGI
  2.  
  3. <IfModule mod_rewrite.c>
  4. RewriteEngine On
  5.  
  6. # uncomment the following line, if you are having trouble
  7. # getting no_script_name to work
  8. #RewriteBase /
  9.  
  10. # we skip all files with .something
  11. # comment the following 3 lines to allow periods in routes
  12. RewriteCond %{REQUEST_URI} \..+$
  13. RewriteCond %{REQUEST_URI} !\.html$
  14. RewriteRule .* - [L]
  15.  
  16. # we check if the .html version is here (caching)
  17. RewriteRule ^$ index.html [QSA]
  18. RewriteRule ^([^.]+)$ $1.html [QSA]
  19. RewriteCond %{REQUEST_FILENAME} !-f
  20.  
  21. # no, so we redirect to our front web controller
  22. RewriteRule ^(.*)$ index.php [QSA,L]
  23. </IfModule>
  24.  
  25. # big crash from our front web controller
  26. ErrorDocument 500 "<h2>Application error</h2>symfony application failed to start properly"

i co tutaj trzeba dodać / zmienić żeby przekierować
http://localhost/admin
na:
http://localhost/backend.php/admin

Dodam że chodzi o katalogi web i apps
Pomocy blink.gif

dodałem do .htaccess
  1. <Files ~ "^\.(htaccess|htpasswd)$">
  2. deny from all
  3. </Files>
  4. Redirect permanent /admin /backend.php/admin
  5. order deny,allow

i poskutkowało

jednak jak można na zamaskować adres:
http://localhost/backend.php/admin
  1. adresem:

http://localhost/backend.php/admin
questionmark.gif
takie przekierowanie "brzydko" wygląda.

po wpisaniu pierwszego w pasku adreu wyświetla się drugi.
phpion
Nie możesz po prostu utworzyć katalogu admin i wrzucić do niego backend.php jako index.php? Wydaje mi się, że powinno zadziałać, ale z Symfony miałem styczność ostatnio ponad rok temu winksmiley.jpg
strife
Cytat(phpion @ 3.03.2010, 08:26:06 ) *
Nie możesz po prostu utworzyć katalogu admin i wrzucić do niego backend.php jako index.php? Wydaje mi się, że powinno zadziałać, ale z Symfony miałem styczność ostatnio ponad rok temu winksmiley.jpg


Zadziała na pewno, wiele razy stosowałem tego typu rozwiazanie, aby odzielić style od styli w panelu administracyjnym w przyjazny sposób. Jest to chyba najszybsze rozwiązanie, aby rozwiązać Twój problem.
phpion
Cytat(strife @ 3.03.2010, 11:37:16 ) *
Zadziała na pewno, wiele razy stosowałem tego typu rozwiazanie, aby odzielić style od styli w panelu administracyjnym w przyjazny sposób. Jest to chyba najszybsze rozwiązanie, aby rozwiązać Twój problem.

Do tego można pięknie zabezpieczyć cały folder po stronie serwera (.htaccess + .htpasswd). Wiem, że można zabezpieczyć też wybrany plik, ale zakładając hasło na cały katalog odcinamy potencjalnych intruzów również od wszystkich innych plików typu grafika, style, skrypty JS. Osobiście stosuję takie rozwiązanie dlatego je zasugerowałem.
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.