Wordpress без ЧПУ. Как сделать корректный 404-й ответ?

Добрый день! Есть сайт на Wordpress 4.6.1, terraoko.com. (Веб-сервер — Апач 2.4, на морде стоит nginx, но 404-е обрабатываются Апачем по настройкам). Включить «pretty permalinks» (ЧПУ) нельзя по условиям работы, ссылки "не-человечные". Это вызывает следующие проблемы:

1) Не работает 404-я страница и не возвращается в нужных ситуациях код 404, при обращении на несуществующие URL или файлы отдаётся цепочка кодов 301->200, с дописыванием слэша к URL в адресной строке браузера и визуальному переходу на главную страницу, вот например:
terraoko.com/non-exist-url трансформируется в terraoko.com/non-exist-url

Директива «ErrorDocument 404 /404.html» в .htaccess не помогает (видимо от того что всё что угодно идёт на index.php), а файл 404.php темы при выключенных ЧПУ ссылках тоже не хочет работать (хотя работает при включенных, но включать их не разрешается).

Модуль mod_rewrite включен, опция AllowOverride All для папки сайта тоже.

2) Ни один из плагинов, генерирующих динамическую карту сайта, не выдают рабочую ссылку по адресу /sitemap.xml. А статическую карту непонятно чем создавать, все новые плагины под новую версию WP ориентированы на динамическую…

Можно ли как-то выкрутится хотя бы по 1-му пункту (и насколько это реально без включения ЧПУ)?

PS. Заранее признателен!
  • Вопрос задан
  • 315 просмотров
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Если не используются pretty permalinks, модуль mod_rewrite не нужен. WordPress не будет парсить url, а только смотреть GET. Кроме того, убедитесь, что в .htaccess нету rewrite rules.

По поводу 404:
ErrorDocument 404 /index.php?error=404
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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