Die prägnanteste Weg, das Problem bei der Hand der Zusammenfassung:Symfony 1.4 Routing-Probleme nur bei Verwendung von index.php und mod_rewrite
Entwicklung ist vorbei, und alles war gegen frontend_dev.php während der Entwicklung führen und Test
Diesebedeutet, dass alle URLs waren: server.com/frontend_dev.php/module/action/parm
Produktionsbewegungsmittel Umgebungen Switching- und thusly Verwendung inde x.php statt
server.com/index.php/module/action/parmTeil zur Produktion von bewegter mod_rewrite unter Apache2 wird mit dem „index.php“ Teil der URL zu machen verschwinden, aber immer noch funktionierende
server.com/module/action/parm noch gegen index.php weitergeleitet wirddie URLs in der Tat w/o der index.php Teil erscheinen, aber symfony-Routing wird nun klagen:
dh server.com/goals, die zu Zielen/indexführt - völlig in Ordnung frontend_dev.php oder index.php als expliziten Controller
server.com/index.php/goals
mit - ohne Verwendung eines expliziten Controller (via Rewrite):
[Di Dezember 14 00.59.51 2010] [Fehler] [client 75.16.181.113] Leere Modul und/oder eine Aktion nach der URL "/ Ziele /" (/) Parsen
ich das Umschreiben prüft haben, ist in der Tat Routing zu index.php durch Änderung der Umschreibung in etwas, das nicht existiert:
[Di 14 13.05.43 Dezember 2010] [Fehler] [client 75.16.181.113] script '/opt/www/projects/adam/web/index2.php' nicht gefunden oder nicht in der Lage
stat Ich habe versucht, zu Frontend_dev.php umzuleiten, aber nur mit mehr Debug-Informationen von Symfony zur Verfügung gestellt, von denen keiner hilfreich ist:
404 | Nicht gefunden | sfError404Exception Leere Modul und/oder Aktion nach dem Parsen der URL "/ Ziele /" (/).
Stapelüberwachung
1 at() in SF_SYMFONY_LIB_DIR/controller/sfFrontWebController.class.php Leitung 44 ...
2. bei sfFrontWebController-> Dispatch() in SF_SYMFONY_LIB_DIR/util/sfContext.class.php Leitung 170. ..
3. bei sfContext-> dispatch() in SF_ROOT_DIR/web/frontend_dev.php Linie 13 ...
ich die mit der RewriteBase Option in .htaccess versucht, aber das hilft nicht jeder , noch Ändern der wahr/falsch in der Konfigurationszeile der Controller
Ich hoffe, dass dies zur Verfügung stellen s genug, um zu verstehen, warum wir verwirrt sind und uns zu einer Lösung führen können.
Folgendes ist die aktuelle.htaccess und Index/Frontend Konfigurationszeilen
Index.php:
$ Konfiguration = Project :: getApplicationConfiguration ('Frontend', 'prod', false);
frontend_dev.php:
$ Konfiguration = Project :: getApplicationConfiguration ('Frontend', 'dev', true);
.htaccess:
RewriteEngine On
# Kommentar- der folgenden Zeile, wenn Sie Probleme # haben no_script_name bekommen #RewriteBase/
# wir alle überspringen zu arbeiten Dateien mit .something #RewriteCond% {REQUEST_URI} .. + $ #RewriteCond% {REQUEST_URI}! .html $ #RewriteRule. * - ([. ^] +) [L]
# wir überprüfen, ob die HTML-Version hier ist (Caching) RewriteRule^$ index.html [QSA] RewriteRule^$ $ 1.html [QSA] RewriteCond% {REQUEST_FILENAME}! -f
# nein, so leiten wir an unsere Front Web-Controller RewriteRule^(. *) $ index.php [QSA, L]
Es scheint seltsam, dass Symfony beschwert, dass die Route nicht gefunden wird, wenn die Anfrage korrekt umgeschrieben wird. - Haben Sie versucht, die Routenkonfiguration über index.php direkt in Ihren Browser zu dumpen? Und den Cache manuell löschen, vielleicht? Versuchen Sie auch, in Ihre index2.php-Datei zu schreiben und die Abfrage auszudrucken. – cvaldemar
Könnten Sie Ihre routing.yml posten? – Vojta