Question

J'ai un projet Symfony sur une machine Windows XP / IIS 7 avec rewrite ISAPI installé. Quand je vais au frontend (mon principal) l'application, il semble que le routage ne fonctionne tout simplement pas. Je finis toujours sur mon Module / l'action par défaut. Cependant, si je turnno_script_name = off (dans le fichier settings.yml de l'application), puis tout fonctionne bien. J'ai aussi une application d'administration dans le cadre du projet (qui a également no_script_name = off) et cela fonctionne bien aussi. Cela semble que cela devrait être un problème simple, mais nous avons travaillé sur ce pendant 4 heures maintenant. Toute aide serait grandement appréciée, merci.

Edit: J'ai changé l'environnement de contrôleur frontal dev afin d'utiliser la barre d'outils de débogage et a constaté que, peu importe ce que mon URL ressemble, il dit toujours

route Match "site web" (/) pour / avec tableau de paramètres ( 'module' => 'par défaut', 'action' => 'index',)

Peu importe ce que je fais, le module est toujours égal à défaut

Était-ce utile?

La solution 2

J'ai trouvé la solution. J'ai ajouté ce code au-dessus de mon index.php

$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];

J'ai tout essayé dans le Symfony didacticiel IIS ( http: //trac.symfony-project .org / wiki / symfonyOnIIS ) et rien ne fait une différence. Si quelqu'un d'autre va dans ce problème, s'il vous plaît essayez d'ajouter le code ci-dessus avant de déblayage avec des paramètres ou des règles .htaccess.

Autres conseils

IIS ne prend pas en charge la réécriture d'URL très bien, ce qui est une exigence de routage de symfony au travail. Essentiellement, le serveur Web est censé rediriger toutes les requêtes vers des fichiers / chemins non-existants au index.php de symfony, en passant avec elle l'URL originale demandée. Symfony décode cette URL et applique ses règles de routage.

Mais, il est possible. Vous devrez suivre ceci: Symfony sur IIS

Découvrez le nouveau module de réécriture d'URL pour IIS:

http://learn.iis.net/page. ASPX / 734 / module url-rewrite /

Il ajoute même un outil de gestionnaire IIS qui importe et convertit les règles mod_rewrite

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top