手头总结问题的最简洁的方式时: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