手頭總結問題的最簡潔的方式時:Symfony的1.4路由問題使用的index.php和mod_rewrite的
發展結束了,一切都在開發和測試過程中
對frontend_dev.php運行這意味着,所有的URL是:server.com/frontend_dev.php/module/action/parm
移動到生產裝置的切換環境中,並使用正是如此印出x.php代替
server.com/index.php/module/action/parm移動到生產的一部分的Apache2下使用mod_rewrite使URL消失的「的index.php」的一部分,但仍在工作
server.com/module/action/parm仍對路由的index.php的網址確實出現W/O的index.php的一部分,但symfony的路由現在抱怨:
即,server.com/goals哪條路線進入目標/ index
- 完全正常使用frontend_dev.php或index.php的作爲顯式控制器
server.com/index.php/goals
- 使用沒有顯式控制器(經由改寫):
[星期二十二月14 12點59分51秒2010] [錯誤] [客戶75.16.181.113]
我已經驗證了重寫空模塊和/或解析URL後行動 「/兩球/」(/)確實通過將重寫改爲不存在的路由到index.php:
[星期二12月14日13時05分43秒2010] [錯誤] [客戶75.16.181.113]腳本 '/opt/www/projects/adam/web/index2.php' 未找到或者無法統計
我嘗試重新路由到frontend_dev.php,但只提供了更多來自symfony的調試信息,其中沒有一個對您有幫助:
404 |未找到| sfError404Exception解析URL「/ goals /」(/)後爲空模塊和/或操作。
堆棧跟蹤
1.在()中SF_SYMFONY_LIB_DIR /控制器/ sfFrontWebController.class.php線44 ...
2.在sfFrontWebController->調度()在SF_SYMFONY_LIB_DIR/UTIL/sfContext.class.php線170。 ..
3. sfContext->在SF_ROOT_DIR /網絡/ frontend_dev.php 13號線調度()...
我曾嘗試使用.htaccess中的RewriteBase選項,但這並不能幫助任何,也不改變控制器的配置行中的真/假
我希望這提供足以理解爲什麼我們感到困惑,並能夠指導我們解決問題。
以下是當前的。htaccess以及索引/前端配置線
的index.php:
$配置= ProjectConfiguration :: getApplicationConfiguration( '前端', '督促',假);
Frontend_dev.php:
$配置= ProjectConfiguration :: getApplicationConfiguration( '前端', 'dev的',TRUE);
的.htaccess:
RewriteEngine敘述在
#取消註釋以下行,如果你有麻煩 #得到no_script_name工作 #RewriteBase/
#我們跳過所有.something #RewriteCond%{REQUEST_URI} .. + $ #RewriteCond%{REQUEST_URI}!.html $ #RewriteRule * - ([^] +)[L]
#我們檢查的.html版本在這裏(緩存) 重寫規則^ $的index.html [QSA] 重寫規則^ $ $ 1.HTML [QSA] 的RewriteCond%{} REQUEST_FILENAME!-f
#沒有,所以我們重定向到我們的面網控制器 重寫規則^(。*)$的index.php [QSA,L]
symfony似乎很抱歉,當請求被正確重寫時找不到路由 - 您是否嘗試通過index.php直接將路由配置轉儲到您的瀏覽器?並手動清除緩存,也許?另外,嘗試重寫你的index2.php並讓它打印查詢。 – cvaldemar 2010-12-14 23:50:05
你可以發佈你的routing.yml嗎? – Vojta 2010-12-16 00:08:30