xintrea
Новичок
Есть Apache 2.4.2 на Debian Linux 9. Апач ставил из стандартного репозитария, mod_rewrite тоже.
Корень сайта находится по пути /var/www/mysite. На этот каталог настроен виртуальный хост local-mysite.ru.
Для начала положил в корень index.php с вызовом phpinfo(). Проверил вывод: в разделе Loaded Modules вижу mod_rewrite.
Далее развернул тестовый сайт, его стартовый скрипт открывается по такому URL:
http://local-mysite.ru/appadv/frontend/web
и по такому тоже, само собой, открывается:
http://local-mysite.ru/appadv/frontend/web/index.php
Теперь мне нужно, чтобы когда в браузере открывается http://local-mysite.ru, следовал переход на вышеуказанный URL.
Для этого я написал .htaccess с таким содержимым:
Поверил его в онлайн-тестировщике http://htaccess.madewithlove.be. Там преобразование идет правильное.
Но на моем хосте преобразования URI не происходит!!
Для отладки отредактировал опцию в файле /etc/apache2/apache2.conf, чтобы видеть сообщения о редиректах:
Перезагрузил Apache. Обновил страницу с URL http://local-mysite.ru. Насколько я понимаю, в файле /var/log/apache2/error.log должны появиться строки, помеченные [rewrite...] или как-то так. Но ничего такого нет.
Я уже не знаю куда копать.
Корень сайта находится по пути /var/www/mysite. На этот каталог настроен виртуальный хост local-mysite.ru.
Для начала положил в корень index.php с вызовом phpinfo(). Проверил вывод: в разделе Loaded Modules вижу mod_rewrite.
Далее развернул тестовый сайт, его стартовый скрипт открывается по такому URL:
http://local-mysite.ru/appadv/frontend/web
и по такому тоже, само собой, открывается:
http://local-mysite.ru/appadv/frontend/web/index.php
Теперь мне нужно, чтобы когда в браузере открывается http://local-mysite.ru, следовал переход на вышеуказанный URL.
Для этого я написал .htaccess с таким содержимым:
Код:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# Если запрос не начинается с web, добавляем его
RewriteCond %{REQUEST_URI} !^/(appadv/frontend/web)
RewriteRule (.*) /appadv/frontend/web/$1
# Если файл или каталог не существует, идём к /web/index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /appadv/frontend/web/index.php
Но на моем хосте преобразования URI не происходит!!
Для отладки отредактировал опцию в файле /etc/apache2/apache2.conf, чтобы видеть сообщения о редиректах:
Код:
LogLevel warn rewrite:trace4
Я уже не знаю куда копать.
Последнее редактирование: