Настройка .htaccess для ошибки 404 на двух языках

Рейтинг: 0Ответов: 0Опубликовано: 08.07.2023

Есть сайт на веб-сервере apache. Необходимо настроить .htaccess так, чтобы при переходе по адресу вида example.com/несуществующая_страница - отображалась страница 404.html, а при переходе по адресу вида example.com/ru/несуществующая_страница отображалась страница ru/404.html.

Один в один проблема решается тут: https://discourse.gohugo.io/t/404-pages-on-localhost-for-multilingual-site-failing/40568/2 Только для локального сервера Hugo:

[[redirects]]
from = '/ru/**'
to = '/ru/404.html'
status = 404

[[redirects]]  # Default lang, should be last.
from = '/**'
to = '/404.html'
status = 404

Текущая версия моего .htaccess такая:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /404.html [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ru/(.*)$ /ru/404.html [L]

Перекидывает и с example.com/ru/test и с example.com/test на английскую версию 404.html, т.е. на ту, которая лежит в корне сайта.

Ответы

Ответов пока нет.