Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny][Silex] Konfiguracja katalogu "web" pod Apache
404
post
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Witam,

mam następującą strukturę katalogów:
Kod
/app
/controllers
/vendor
/views
/web
W katalogu web siedzi index.php:
  1. <?php
  2.  
  3. require_once __DIR__ .'/../vendor/autoload.php';
  4. require_once __DIR__ .'/../controllers/Home.php';
  5.  
  6. $app = new Silex\Application();
  7.  
  8. $app->register(new Silex\Provider\TwigServiceProvider(), array(
  9. 'twig.path' => __DIR__ .'/../views',
  10. 'twig.options' => array(
  11. 'cache' => __DIR__ .'/../app/cache/twig'
  12. )
  13. ));
  14.  
  15. $app->get('/', 'MSC\\Home::home');
  16. $app->error(function (\Exception $e, $code) {
  17. return new Symfony\Component\HttpFoundation\Response('['. $code .'] '. $e->getMessage());
  18. });
  19.  
  20. $app->run();
Teraz chciałbym pozbyć się katalogu web z URLa. W tym celu umieściłem pliki .htaccess w katalogach /Silex oraz /Silex/web. Niestety wchodząc przez localhost/Silex dostaję błąd "[404] No route found for GET "/Silex/". Wchodząc w ten sposób: localhost/Silex/index.php wszystko jest ok. Nie mam już pomysłów co mogę robić źle.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
c1chy
post
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 16
Dołączył: 21.06.2013

Ostrzeżenie: (0%)
-----


Jeżeli Silex jest katalogiem głównym to cała zawartość /web powinna być w Silex jeden katalog wyżej powinny być vendor itd. w htaccess RewriteBase powinno być ustawione na /Silex/
Go to the top of the page
+Quote Post
404
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Silex jest głównym katalogiem aplikacji, ale chciałbym, aby katalog web pełnił rolę takiego public_html. Chodzi mi o uzyskanie tego samego rezultatu co np. w Symfony.
Go to the top of the page
+Quote Post
c1chy
post
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 16
Dołączył: 21.06.2013

Ostrzeżenie: (0%)
-----


hmm czegoś nie rozumiem chyba, co masz na myśli pisząc główny katalog aplikacji dla apache ten katalog to webroot ? jeżeli tak i wrzucisz do niego jeszcze katalog /web/ to link będzie wyglądał tak http://localhost/Silex/web/

jeżeli jednak nie chcesz w url mieć /web/ a /Silex/ to webroot, wtedy po prostu do Silex wrzuć zawartość web a poziom wyżej wrzuć wszystko inne (vendors itd.).
Go to the top of the page
+Quote Post
404
post
Post #5





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Cytat
hmm czegoś nie rozumiem chyba, co masz na myśli pisząc główny katalog aplikacji dla apache ten katalog to webroot ? jeżeli tak i wrzucisz do niego jeszcze katalog /web/ to link będzie wyglądał tak http://localhost/Silex/web/
Pisząc o głównym katalogu aplikacji nie mam na myśli htdocs (C:/xampp/htdocs), a katalog, w którym znajduje się aplikacja. http://localhost/Silex/web/ - dokładnie tak to wygląda. Główny katalog aplikacji to Silex. Żeby było jasne - nie chcę wrzucić całej aplikacji do tego katalogu web, a jedynie index.php, css, js itp. Kontrolery, widoki, vendors chce mieć w katalogu wyżej żeby nie były one dostępne z poziomu przeglądarki.

Cytat
jeżeli jednak nie chcesz w url mieć /web/ a /Silex/ to webroot, wtedy po prostu do Silex wrzuć zawartość web a poziom wyżej wrzuć wszystko inne (vendors itd.).
Mógłbym tak zrobić, ale nie satysfakcjonuje mnie takie rozwiązanie. Poza tym, np. niektóre hostingi zabraniają wrzucać pliki powyżej public_html.

Ten post edytował 404 23.11.2013, 12:24:16
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 17:08