symfony2 на виртуальном хостинге

Я работал над этим в течение долгого времени, но безрезультатно. У меня установлена symfony на общем веб-хосте, где у меня нет нулевого доступа, чтобы изменить DocumentRoot на папку web /, так что это не вариант для меня ...

Я написал свой htaccess

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

Я также попробовал это сRewriteBase web/ а такжеRewriteBase /web/ но безрезультатно.

С этим Symfony работает ... Я могу войти, я могу сделать все это ... Единственная проблема в том, что ни один из ресурсов не отображается ... Chrome Developer Tools, говорит мне, что он находит 404, который является правильным потому что он не читает папку / web / как DocumentRoot.

Итак, как решить эту проблему без перезаписи файлов или чего-то еще ... Должен быть способ сделать это только с помощью .htaccess ...

 mpm20 апр. 2012 г., 23:09
Вы должны использовать оригинальный htaccess, поставляемый с Symfony, и просто переписать свое приложение. потому что с этим htaccess все запросы, направленные к статическим ресурсам, обрабатываются с помощью правила перезаписи. где ваши условия перезаписи?

Ответы на вопрос(2)

ть все, что там находится, в папку / web соответственно:

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

При этом вы получаете чистые URL-адреса (исключая "web" или "app.php"), и нет необходимости использовать материал assets_base_urls в вашей конфигурации.

 Justin24 сент. 2012 г., 00:13
-1 ... если вы посмотрите, это не имеет ничего общего с маршрутизацией ... Это имеет отношение к активам, которые не отображаются должным образом из-за расхождений в маршрутизации ... htaccess не может это исправить, опция assets_base_urls делает. Наслаждаться.
Решение Вопроса

assets_base_urls вapp/config.yml например

framework:
    #..
    templating:      
        engines: ['twig']
        assets_base_urls: http://your.site.com/web/
 Justin20 апр. 2012 г., 23:42
понял это ... в моем config.yml я сделал, как вы сказали, за исключением того, что я сделал assets_base_urls: web / затем в моем config_dev.yml я просто положил: templating: assets_base_urls: / обновил оба экземпляра, и это работает ... красиво; )
 Justin20 апр. 2012 г., 23:35
Хорошо, это работает .. Но вот вопрос для вас сейчас. Скажем, у меня есть 2 домена, нацеленных на одну и ту же установку Symfony - один и тот же веб-сайт, то же самое все. Разница только в том, что один предназначен для app_dev.php (а documentRoot имеет было установлено / web / для этого домена), но я хочу, чтобы активы отображались только: / web / для другого домена, а неyour.site.com/web как бы я это сделал? просто установив assets_base_urls как web / ломает его для любого, который был установлен на уровне httpd (пробовал на моем локальном хосте)

Ваш ответ на вопрос