Symfony .htaccess - 500 домен третьего уровня

Я мое приложение в подкаталоге в www.example.com/aplication/v1, и у меня есть домен третьего уровня для этого в v1.example.com. Я использую symfony2, и в моем .htacess у меня есть следующее:

DirectoryIndex app.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 ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

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

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

а это мой app.php

 <?php

use Symfony\Component\HttpFoundation\Request;

require __DIR__.'/../app/autoload.php';
include_once __DIR__.'/../app/bootstrap.php.cache';

require_once __DIR__.'/../app/AppKernel.php';

$kernel = new AppKernel('prod', true);
$kernel->loadClassCache();
//$kernel = new AppCache($kernel);

// When using the HttpCache, you need to call the method in your front controller instead of relying on the configuration parameter
//Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

Все работает хорошо в www.example.com/aplication/v1, но 500, если я попробую v1.example.com. Прошу поддержки моего хостинга и они говорят, что проблема в моем .htacess. Как это исправить?

update: Может быть, мне нужно обновить условие перезаписи в .htaccess?

Я подозреваю, что это связано с требованием и включением ...

Dieter Kräutl 03.09.2018 13:34

Я также подозреваю, что, но как я могу установить, что перенаправление хорошо работает с обоими доменами?

NicolaPez 03.09.2018 14:11

просто используйте абсолютные пути

Dieter Kräutl 03.09.2018 14:18

это не работает, я полагаю, потому что я использую symfony, и этот файл защищен (не вижу с полным путем).

NicolaPez 03.09.2018 14:28

У вас в журнале ошибок появляется ошибка? / вар / журнал / apache2 / ...

Dieter Kräutl 03.09.2018 14:29

Я жду этого, я не могу использовать ssh на сервере. Но, может быть, мне нужно изменить rewriteCond в моем htaccess?

NicolaPez 03.09.2018 16:08

Нет ... это не относится к переписыванию Apache

Dieter Kräutl 03.09.2018 16:09

условие перезаписи .htaccess? Поэтому я не вижу решения

NicolaPez 03.09.2018 16:15

в противном случае я добавляю весь свой htaccess в вопрос.

NicolaPez 03.09.2018 16:16

На что указывает v1.example.com? то же самое, что и example.com или в подкаталог v1?

Dieter Kräutl 03.09.2018 16:16

На www.example.com/api/web

NicolaPez 03.09.2018 16:17

тот же htaccess на v1.example.com?

Dieter Kräutl 03.09.2018 16:19

подождите, v1.example.com не существует, просто укажите www.example.com/api/web. Фактически, если я повторю «тест» в app.php до этого, я могу увидеть «тест» в обоих путях. Конечно, проблема в том, что требуется, но я думаю, что решение будет в .htacess

NicolaPez 03.09.2018 16:24

Я бы попытался использовать там абсолютные пути и посмотреть, что он делает

Dieter Kräutl 03.09.2018 16:26

разрешение отклонено, я использую symfony и блокирую доступ к определенному файлу (конфигурации) с абсолютным путем

NicolaPez 03.09.2018 16:31

Я вижу, что после попытки не работает, не предполагаю

NicolaPez 03.09.2018 16:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
16
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я разрешаю это добавить еще раз перенаправление на третий уровень домена, например:

 #redirect for service
    RewriteCond %{HTTPS_HOST} ^v1\.example\.com
    RewriteRule ^(.*)$ /application/v1/$1 [L]

Я не думал, что должен перенаправлять весь запрос под свой проект, а не только корень.

Другие вопросы по теме