共享主机上的symfony2

时间:2012-04-20 21:03:01

标签: .htaccess mod-rewrite symfony shared-hosting

我一直在研究这个问题已经有一段时间无济于事了......我已经在共享的web主机上安装了symfony,我无法将DocumentRoot更改为web /文件夹,因此不是我的选择......

我写过我的htaccess

RewriteEngine On
RewriteBase /
RewriteRule ^$ web/app.php [QSA]
RewriteRule ^(.*)$ web/app.php/$1 [QSA, L]

我也尝试使用RewriteBase web/RewriteBase /web/无效。

有了这个,symfony正在工作..我可以登录,我可以做所有这些...唯一的问题是,没有资产显示... Chrome开发者工具,告诉我它找到了404这是是的,因为它没有像DocumentRoot那样读取/ web /文件夹..

那么,如何在不重写文件的情况下解决这个问题,或者任何事情......只有.htaccess才能做到这一点......

2 个答案:

答案 0 :(得分:14)

一种方法是在assets_base_urls中设置app/config.yml,例如

framework:
    #..
    templating:      
        engines: ['twig']
        assets_base_urls: http://your.site.com/web/

答案 1 :(得分:4)

或者,您可以将.htaccess文件放在DocumentRoot文件夹中,并相应地将其中的所有内容重写到您的/ web文件夹中:

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

通过这种方式,您可以获得干净的URL(省略“web”或“app.php”),并且无需在配置中使用assets_base_urls内容。

相关问题