在Symfony2项目中呈现静态内容

时间:2013-01-10 10:31:18

标签: symfony

我想在Symfony2项目中包含静态内容。我已经自动生成了一些我想要渲染的文档HTML文件。它们是完整的HTML文件,它们之间有链接。

因此,我会有类似的东西:

  • mysite.com:由Symfony2管理的路由,使用其MVC引擎。
  • mysite.com/docs/mysite.com/docs/.../.../等:只需返回这些HTML静态文件的内容。

我想我需要创建一个处理这些静态文件的包,存储在Resources/public中,但我不知道实现这一点的最佳方法是什么。此外,路由应该能够识别mysite.com/docs/下的每个路由。

1 个答案:

答案 0 :(得分:1)

您可以在docs目录中创建目录web

如果您查看位于.htaccess目录的web中的重写规则,您会看到:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

这意味着“如果文件不存在,请使用带有重写规则的app.php(因此是Symfony2)文件”。

因此,如果您在网络目录中创建文件(例如docs/test.html),则可以直接访问该文件from mysite.com/docs/test.html

修改: 请考虑cssjs文件以获取示例。当您包含它们时,路由器无法处理它们