Symfony в подпапке

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем sbablov, 16 сен 2015.

  1. sbablov

    sbablov Постоялец

    Регистр.:
    4 ноя 2011
    Сообщения:
    72
    Симпатии:
    81
    Есть сайт на symfony, нужно поднять еще один в подпапке /en для английской версии. Дело в том что основная дериктория для сайта /web, содержимое корневого htaccess:
    Код:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ /web/$1 [QSA,L]   
    </IfModule>
    Подскажите как сделать, чтобы url типа site.com/en/... стучались в /en/web, а статика подгружалась с /en/web/js, css, img...
     
  2. Bezhev

    Bezhev

    Регистр.:
    26 дек 2012
    Сообщения:
    362
    Симпатии:
    123
    зачем вам устанавливать еще один проект с симфони, если сам симфони поддерживает мультиязычность? ну в смысле можно реализовать
     
  3. sbablov

    sbablov Постоялец

    Регистр.:
    4 ноя 2011
    Сообщения:
    72
    Симпатии:
    81
    Мультиязычность при разработке не была предусмотрена, а допиливать локализацию и админку под нее более затратно чем просто поднять еще одну копию.
     
  4. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    320
    Симпатии:
    116
    Насколько я понял задачу - тебе нужно в зависимости от урла лезть в разные папки?
    Попробуй такую конструкцию, может сработает:
    Код:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} ^\/en
    RewriteRule ^(.*)$ /en/web/$1 [QSA,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^\/en (или вот так, не уверен как сработает RewriteCond %{REQUEST_URI} ^!\/en)
    RewriteRule ^(.*)$ /web/$1 [QSA,L]
    </IfModule>
    
     
    sbablov нравится это.
  5. sbablov

    sbablov Постоялец

    Регистр.:
    4 ноя 2011
    Сообщения:
    72
    Симпатии:
    81
    Благодарю, задачу решил.
    /.htaccess
    Код:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_URI} !^/en/.*$  
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ /web/$1 [QSA,L]
    </IfModule>
    /en/.htaccess
    Код:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ /en/web/$1 [QSA,L]
    </IfModule>
     
  6. UJy

    UJy

    Регистр.:
    23 авг 2011
    Сообщения:
    320
    Симпатии:
    116
    Да, вариант...
    Чисто для себя интересно - мой вариант (если ложить весь код в 1 файл) сработал?
     
  7. sbablov

    sbablov Постоялец

    Регистр.:
    4 ноя 2011
    Сообщения:
    72
    Симпатии:
    81
    да, твой вариант тоже работает
     
    UJy нравится это.