如何清理Symfony管理员路由?

时间:2009-11-10 02:08:15

标签: php routing symfony1

我的后端网址如下所示:

 mysite.com/backend.php/blog

我想将其更改为:

 mysite.com/backend/blog

从技术上讲,这不仅限于管理应用程序,因为Symfony会为每个应用程序授予两个前端控制器脚本。但我讨厌在URL中使用脚本名称,因此我想更改它。这可能吗?

提前致谢。

修改

@codecowboy - 我确实通过在web目录中创建一个'backend'目录来解决这个问题。然后我复制了.htaccess文件symfony put in web,我将backend.php和backend_dev.php前端控制器移动到/ backend并将它们重命名为index.php和index_dev.php。然后在每个前端控制器中,我告诉PHP为项目配置类进一步查看一个目录。我已经做了一段时间了,它完全符合我的需求。实际上我把这一切都包含在一个任务中,这样设置一个新的管理应用程序就是一个步骤。

1 个答案:

答案 0 :(得分:2)

您可以添加

 #I'm no regular expression expert or mod_rewrite expert, this line probably has some bugs 
 RewriteRule ^backend(.*)$ backend.php [QSA,L]

之前到你的.htaccess文件

RewriteRule ^(.*)$ index.php [QSA,L] 

这解决了你问题的1/2。发送到yoursite.com/backend/xxx的任何内容都将通过backend.php进行路由。你得到的另一个问题是内部symfony路由。它会将yoursite.com/backend/xxx解释为模块“后端”和操作“xxx”的请求。我确定解决起来并不难。祝你好运!