Изменение baseURL в symfony всех контроллеров - PullRequest
0 голосов
/ 20 октября 2018

Итак, я размещаю свое приложение в подкаталоге на сервере apache под /~test/ Я попытался добавить префикс в маршруты, но ничего не происходит

Я хочу, чтобы все маршруты всех моих контроллеров начинались с /~test/ без добавления этого вручную к каждому маршруту.Прямо сейчас, когда маршрут идет в / он выходит за пределы моего /~test/ каталога

, например:

  /**
     * @Route("/login", name="app_login")
     */
    public function login(AuthenticationUtils $authenticationUtils): Response
    {
    }

Этот маршрут я бы хотел пойти в /~test/login

Мой .htaccess:

DirectoryIndex index.php

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 307 ^/$ /index.php/
    </IfModule>
</IfModule>

Ответы [ 2 ]

0 голосов
/ 21 октября 2018

Посмотрите на это https://symfony.com/blog/new-in-symfony-4-1-prefix-imported-route-names

Вы можете написать что-то вроде этого в своем файле rout.yaml:

controllers:
    resource: ../src/Controller/
    type: annotation
    prefix: /cool-prefix
0 голосов
/ 21 октября 2018
  1. мое приложение в подкаталоге на сервере apache в / ~ test /

  2. тест был примером для тестана самом деле я имел в виду ~ имя пользователя

  3. домашняя страница будет uni.co.uk/~myusername/index.php

Поместите это в корневой каталог вашего приложения .htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^$ /public/index.php [L]
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...