我在symfony 1.4中有一个现有的项目
对于静态页面,我们使用提供以下URL的模块页面:
http://www.example.com/page/aboutus
http://www.example.com/page/faq
http://www.example.com/ (page/index method, points to method page/home)
对于新要求,我们需要格式为URL的网址:
http://www.example.com/aboutus
http://www.example.com/faq
http://www.example.com/ (index/home method of page module; working as page is default module)
有16个这样的静态页面,所有这些页面都列在page
模块下。截至目前,我计划创建16个新模块,将每个静态页面放在新模块的index
方法中,但我认为这是一个糟糕的解决方案,希望symfony绝对不是以这种方式使用的。
有没有办法从URL跳过模块名称,至少对于默认模块?
答案 0 :(得分:2)
您可能希望使用重写规则,如中所述 http://corz.org/serv/tricks/htaccess2.php
答案 1 :(得分:1)
使用symfony的路线功能!
在routing.yml
:
aboutus_page:
url: /aboutus
param: { module: page, action: aboutus }
faq_page:
url: /faq
params: { module: page, action: faq }
home_page:
url: /
params: { module: page, action: index }
# your other routes
# ...
actions.class.php
模块的page
将如下所示:
class pageActions extends sfActions
{
public function executeAboutus (sfWebRequest $request)
{
// ...
}
public function executeFaq (sfWebRequest $request)
{
// ...
}