@Asker1888

Как настроить роутинг в .htaccess, сохранив 301 редирект?

Доброго времени суток!
Прошу помочь настроить .htaccess:
Есть SPA на react с использованием react-router-dom.
На хостинге стоит Apache.
Раньше было настроено так для 301-го редиректа:
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on    [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^.*$ https://mysite.ru/$0 [L,R=301]

При данной записи работает 301 редирект, но при попытке роутинга (например, https://mysite.ru/my_page) шла переадресация на 404.
Добавил следующие строчки:
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on    [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
# Если по переданному пути в URI файлы или каталоги существуют то сервер вернет их содержимое
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Если существующих файлов не найдено то сервер вернет содержимое index.html
RewriteRule ^ index.html [L]
RewriteRule ^.*$ https://mysite.ru/$0 [L,R=301]

При такой записи работает роутинг, но не работает 301 редирект.
Как правильно настроить?
  • Вопрос задан
  • 277 просмотров
Решения вопроса 1
попробуйте настроить 301 редирект в одну строчку через конструкцию "Redirect", а также поменять местами очередность правил в .htaccess (может быть так что одно правило перекрывает другое)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы