Не работают постоянные ссылки wordpress nginx

WordPress и Nginx: исправление ошибки 404 при открытии любых страниц

Как настроить Nginx так, чтобы посты и страницы при включённых ЧПУ открывались корректно.

В WordPress можно использовать человеко-понятные url (ЧПУ), чтобы из адреса страниц и людям, и поисковым системам сразу становилось понятно, о чём содержимое. Например, взглянув на tx8.ru/kak-podruzhit-tt-rss-i-fail2ban/, видно, что на странице информация про настройку fail2ban. ЧПУ включаются в админке сайта, раздел «Настройки постоянных ссылок».

Настройки постоянных ссылок в WordPress

Так вот, любой режим именования ссылок, кроме простого (простой — это не ЧПУ), в стандартной конфигурации веб-сервера Nginx не работает. Все страницы, кроме главной, будут выдавать ошибку с кодом 404.

Ошибка 404 — такой страницы нет

Решение простое. Нужно настроить Nginx так, чтобы все запросы к страницам обрабатывались через index.php. Найдите файл конфигурации сайта (скорее всего, это будет nginx.conf или какой-то другой *.conf в каталоге /etc/nginx) и поищите такой блок:

Замените его на:

Строки «try_files $uri $uri/ =404;» и/или блока «location / < >» может не быть (отсутствие второго маловероятно, без него сайт вообще не должен работать), тогда просто добавьте правильный вариант.

После перезапустите службу nginx, чтобы настройки вступили в силу, затем зайдите в админку сайта — Настройки — Постоянные ссылки и нажмите «Сохранить». Готово, страницы должны открываться корректно!

Совет: когда нужно быстро запустить сайт на WordPress с работающим ЧПУ, я использую такой шаблон:

Для работы на «постоянке» не рекомендую, так как не указано хранение логов и нет никаких настроек безопасности, но если намудрили с настройкой Nginx, можете начать с него.

Источник

Настройка nginx и PHP для работы WordPress

Краткая инструкция по настройки конфигурации виртуального хоста nginx для работы CMS WordPress с использованием постоянных ссылок, а также некоторые настройки PHP для корректной работы WordPress.

Всё дело в том, что nginx, в отличие от Apache, не понимает файл .htaccess, и поэтому для работы WordPress необходимо внести некоторые изменения в настройки виртуальных хостов.

Читайте также:  Куда обратится если сломалась газовая колонка

Данная инструкция была опробована на ОС Gentoo GNU/Linux, но подойдёт для любых операционных систем Linux и FreeBSD.

Перед тем, как выполнить все действия, которые описаны ниже, необходимо установить и настроить стек LEMP. Выберите ОС, в которой он будет (или уже) развёрнут и перейдите по ссылке:

Затем открываем файл php.ini и при необходимости исправляем в нём следующие параметры:

max_execution_time — параметр максимального времени выполнения скрипта (по умолчанию 30 секунд) — если у вас сервер достаточной мощности, можно оставить по умолчанию, если нет — увеличиваем время до 60 или даже до 120 секунд

memory_limit — ограничение оперативной памяти для выполнения скрипта (по умолчанию 128 MB) — если скрипты тяжёлые — лучше увеличить, например 256 или 512 MB

upload_max_filesize — максимальный размер файла, который может быть загружен с использованием PHP (по умолчанию 2 MB) — при использовании WordPress выставить значение хотя-бы 20 MB

По окончании необходимо будет перезапустить службу php-fpm.

Теперь открываем файл конфигурации виртуального хоста nginx и дописываем и/или изменяем следующие параметры:

также и для SSL.

На выходе конфигурация виртуального хоста должна выглядеть примерно так:

Готово! Теперь WordPress должен работать без проблем.

Если не получилось — пишите в комментариях, разберёмся.

Источник

Изменение постоянных ссылок дает мне 404 ошибки на nginx

Оказалось, что я неправильно лаял дерево, пытаясь редактировать .htaccess, так как nginx его не использует. Что мне, очевидно, нужно сделать, это отредактировать мой файл .conf. Прежде чем я прочитал это, my_app.conf выглядел так:

Теперь это выглядит так, и все еще не работает:

Кто-нибудь знает, что я делаю не так?

КОНЕЦ РЕДАКТИРОВАНИЯ

Я изменил мои постоянные ссылки со значения по умолчанию на /% postname% /, и теперь ссылки в панели администратора WordPress дают мне 404 ошибки — не WordPress 404 страницы, nginx 404 страницы. Посмотрев, почему это говорит мне, что это должно быть редактирование моего файла .htaccess или говорит, что WordPress не может переписать .htaccess — файл .htaccess не существует, и WordPress не выдает никаких ошибок при изменении постоянных ссылок.

Я попытался создать пустой файл .htaccess в своей папке WordPress, предоставив ему 666 разрешений, изменив пользователя и группу на www-data, а затем изменив постоянные ссылки, но это не сработало. Затем я изменил это на это, прежде чем менять постоянные ссылки:

Читайте также:  Meizu m3 max не работает тачскрин после замены дисплея

Когда это не сработало, я переключился RewriteBase на, /wordpress/ прежде чем снова менять постоянные ссылки — все еще ничего.

Я также вошел в файл .conf моего сайта и изменил try_files $uri $uri/ /index.php; на следующее, перезапуская nginx и php5-fpm каждый раз;

try_files $uri $uri/ /index.php?$query_string;

try_files $uri $uri/ /index.php?q=$request_uri;

try_files $uri $uri/ /index.php?$args;

Я использую домашний сервер с nginx. Есть идеи о том, что здесь происходит?

Источник

Plesk Nginx WordPress Постоянные ссылки 404 Not Found nginx

Надоело искать в интернете безрезультатно, поэтому я попал сюда с просьбой о помощи.

Я использую Plesk для управления своим сервером. Я активировал PHP-FPM для Nginx и хотел запустить
Обработка PHP с помощью Nginx, поэтому я настроил эти параметры (рисунок ниже):

Страница индекса работает хорошо, потому что я добавляю ее в настройку, как вы можете видеть на
image Проблема — это постоянная ссылка любая ссылка, по которой я нажимаю, я получаю
404 не найден Nginx
Когда я выключаю постоянные ссылки WordPress Все работает нормально, и когда я переключаю только назад
домашняя страница работы.

Любая помощь, пожалуйста!

Решение

Ну, спасибо, ребята, за вашу помощь!
Ища больше в SO и некоторых внешних форумах, я смог найти решение.

Вот шаги, как добавить пользовательское включение в конфигурацию виртуального хоста Nginx:

и измените код местоположения, который у вас уже есть, с помощью следующего кода:

Другие решения

Вы должны просто вставить в «Дополнительные директивы nginx»:

Не вставляйте «location / <" en de final ">«

Если ваш WordPress находится на корневом уровне, это все, что вам нужно сделать для вашего местоположения / блока

Привет, парень. Я рад сообщить вам, что нашел лучшее решение, чтобы исправить эту ошибку 404 Nginx.

Вам просто нужно скачать это расширение: htaccess to nginx

Перейдите в свой домен -> Настройки веб-сервера -> нажмите Показать конвертер .htaccess -> Скопируйте то, что у вас уже есть на вашем .htaccess в корневом каталоге ftp ->, затем нажмите
конвертировать в nginx.

Читайте также:  Как настроить самогонный аппарат с колонной дефлегматором

Таким образом, он преобразует его и вставляет в поле «Дополнительные директивы nginx», затем сохраняет его и «Ta Da . »

Это будет работать Inchaalah без каких-либо проблем безопасности. наш друг UFHH01 знает, о чем я говорю.

Источник

WordPress 404 в логах nginx после смены постоянных ссылок

Итак, у меня настроена целевая страница в / USR / доли / Nginx / html и блог в / USR / доли / Nginx / блог

Как вы можете видеть в конфигурации ниже, блог настроен как псевдоним. Всякий раз, когда кто-то пытается зайти в блог, например: you.com/blog это приводит их к you.com/blog/. Все еще не большое беспокойство. Так что в WordPress URL-адреса настроены на простой. До этого момента все работает без проблем. Теперь, из-за астетики, URL-адреса должны выглядеть лучше, то есть: post-name. Например: you.com/blog/name-of-my-post. Если в wordpress конфиг изменен с обычного на пост-имя, nginx выдает 404 со следующим сообщением

Я замечаю, что index.html присоединяется в конце. После попытки различных изменений в блоке php / blog я все еще застрял на 404. Вот конфиг, который мы запускаем.

Как я могу получить / Блог / мой-пост-здесь вместо простого типа you.com/blog/?p=10

Примечания: Блог (/ USR / доли / Nginx / блог) & Веб-сайт (/ USR / доли / Nginx / html обычный HTML) находятся в 2 отдельных папках. Вы не должны быть в состоянии сделать любой PHP за пределами / блог блок.

Изменить 2017-май-04

Изменен файл nginx.config, успешно перенаправляющий на Имя-сообщение в блоге /

Решение

Ваша конфигурация nginx кажется неправильной.
1) убери свой блок из блога
location

Другие решения

Если вы сохранили ваши постоянные ссылки, чтобы они отображали заголовок поста в URL, используйте следующий код:

Не похоже на это:

Вам не нужно устанавливать / blog вручную, WordPress сделает это за вас, если у вас есть выше в конфигурации nginx. Я могу загрузить всю свою конфигурацию, если хотите.

Кажется, что ваш сайт имеет определенный разрешение или же переписать модуль вопросы, так что не могу переписать.Htaccess файл. Пожалуйста, свяжитесь с вашим хостинг-провайдером и попросите переписать модуль для апаш или сервер они используют. А также попросите дать разрешение на запись в корневую папку, чтобы WordPress мог создавать.Htaccess файл, пока вы меняете Постоянная ссылка.

Источник

Оцените статью