Повышая удобство работы с сайтом WordPress, решил ввести подрубрики. Только вот незадача, случайно заметил, что при переходе на статьи из подрубрик высвечивается ошибка 404, а страницы из рубрик исправно работают. Например, адрес http://netbu.ru/zarabotok-na-saite/reklamnie-banneri/birzhi-bannerov/ существует и статья по этому адресу присутствует, а вот при переходе из подрубрик страница в WordPress не работает.
Получается какой-то конфликт при переадресации и не грузятся подрубрики, WordPress не хочет определять страницы. А ведь точно помню, что все работало. Начал вспоминать, когда в последний раз исправно работал шаблон и какие изменения мог вносить в адреса страниц.
Предположил, что ошибка 404 может быть вызвана когда-то установленными небольшими WordPress плагинами Seo without category и Rus-to-lat, которые помогли сделать ЧПУ ссылки понятными и url-статьи из вида http://netbu.ru//?p=45 стали выглядеть вот так http://netbu.ru/zarabotok-na-saite/reklamnie-banneri/birzhi-bannerov/.
Причем плагин Seo without category убирает строчку category из URL адреса, а Rus-to-lat переводит русские символы в латиницу. Спросив у Google’а о решении данного вопроса нашел, что так и есть, беда была в настройках ЧПУ WordPress: в строке Произвольная структура был некорректно прописан код /%category%/%postname%
. Самое интересное, что сам когда-то изменил эту строку согласно инструкции по установке плагина Seo without category.
А решается вопрос достаточно легко, нужно всего лишь зайти в Настройки/Постоянные ссылки (ЧПУ)/Произвольная структура и заменить строку на /%category%/%postname%.html
.
Действия простые, и все же это не все, ведь мы изменили адреса страниц сайта WordPress и добавили к ним окончание .html (теперь страницы выглядят так: http://netbu.ru/zarabotok-na-saite/reklamnie-banneri/birzhi-bannerov.html). После изменения внутренние ссылки в статьях тоже поменяют свой адрес, и их придется корректировать вручную.
На этом всё, до встречи!
С уважением, Дмитрий Байдук
А если не в плагине дело?
Значит дальше у google’а спрашивать нужно
Для сервера типа Apache должен быть файл у папки со страницами сайта и названием
«.htaccess» и содержанием файла хотя бы:!!!
ErrorDocument 404 /?error=404