簡體   English   中英

在線項目的Symfony路由問題

[英]Problem with Symfony routing with online project

我在裝有Isapi rewrite的Win XP / IIS 7計算機上有一個Symfony項目。 當我轉到前端(我的主)應用程序時,路由似乎根本不起作用。 我總是以我的默認模塊/動作結束。 但是,如果我關閉no_script_name = off (在應用程序的settings.yml文件中),則一切正常。 我也有一個管理應用程序作為項目的一部分(它也有no_script_name = off ),並且工作正常。 看來這應該是一個簡單的問題,但是我們已經為此工作了4個小時。 任何幫助將不勝感激,謝謝。

編輯:為了使用調試工具欄,我將前端控制器的環境更改為dev,發現無論我的URL是什么樣,它總是說

使用參數數組('module'=>'default','action'=>'index',)匹配/的路由“主頁”(/)

無論我做什么,模塊始終等於默認值

IIS不能很好地支持URL重寫,這是Symfony路由工作的要求。 本質上,Web服務器應該將所有請求重定向到Symfony的index.php的不存在的文件/路徑,並隨其一起傳遞請求的原始URL。 Symfony對該URL進行解碼並應用其路由規則。

但是,有可能。 您需要遵循以下步驟: IIS上的Symfony

我找到了解決方案。 我將此代碼添加到index.php的頂部

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

我在Symfony on IIS教程( http://trac.symfony-project.org/wiki/symfonyOnIIS )中嘗試了所有操作,但沒有任何改變。 如果還有其他人遇到此問題,請在添加任何設置或.htaccess規則之前先嘗試添加上述代碼。

簽出新的IIS網址重寫模塊:

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

它甚至向IIS管理器中添加了一個工具,該工具可以導入和轉換mod_rewrite規則

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM