Как исправить 404 ошибку после настройки ЧПУ в WordPress
Вот сейчас неловкий момент. Вы зашли сюда через поиск? Я поборола эту проблему. Но я не программист, поэтому если вы не новичок-любитель, то вам будет кисловато здесь.
Итак, я настроила на своем сайте ЧПУ вида /%category%/%postname%.html
И началось… Если поменять у сайта вид постоянных ссылок с «по умолчанию» на ЧПУ, то при переходе с главной страницы, сайт кажет ошибку 404.
И все-таки 2 слова: зачем вообще нужен этот гемор? Ну оставила бы постоянные ссылки такими, какими их видит WordPress. Это ссылки, легкие для восприятия человека. Кроме того эти ссылки лучше воспринимает и робот-поисковик. Индексируются сайты с таким видом ссылок лучше, выдаются в поисковиках выше. Стало быть, больше посетителей.
Итак, что же делать?
Во-первых, вспоминайте, какой тариф хостинга вы купили?
Если вы на Linux, то вам нужно прописать новый код в файле .htaccess
Вот такой:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
И об этом пишут все и везде!!!
Но что делать, если сайт на Винде? На windows, как у меня? Тут тупик. Сам помощник рекомендует внести правку в файл web.config.
И дальше туман. Например, рег.ру, который дает рекомендации буквально на все случаи жизни, тут пишет, что вам не мешало бы обратиться к своему программисту. А где его взять?
Форум программистов пишет, что копировать левые коды, которые публикуют неучи (вроде меня), просто опасно, а заниматься сайтостроением должны специально обученные люди. Но у меня дороги назад не было.
И я нашла ответ.
Итак.
- Ваша CMS – WordPress.
- Вы поменяли вид постоянных ссылок.
- При переходе с главной страницы на разделы сайт выдает ошибку 404.
- Ваш сайт на платформе windows.
- Вам нужно зайти в файл web.config. Он находится в файловом менеджере, в папке с названием вашего сайта. У меня путь такой: файловый менеджер – httpdocs – chirkun.ru — web.config.
Удаляете к хренам все, что у вас там написано. Если вы отчаялись так же как я, несколько дней бились башкой об стенку с файлом .htaccess (про который все пишут, но который, оказывается, мне вообще не нужен), то вы не будете сомневаться и удалите.
Далее прописываете в этом файле вот такой код:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=»CanonicalHostNameRule2″ stopProcessing=»true»>
<match url=»(.*)» />
<conditions>
<add input=»{HTTP_HOST}» pattern=»^domain\.com$» />
</conditions>
<action type=»Redirect» url=»http://www.domain.com/{R:1}» />
</rule>
<rule name=»CanonicalHostNameRule1″ stopProcessing=»true»>
<match url=»^(\w*/)?index\.php» />
<conditions>
<add input=»{HTTP_HOST}» pattern=»domain\.com$» />
</conditions>
<action type=»Redirect» url=»http://www.domain.com/{R:1}» />
</rule>
<rule name=»wordpress» patternSyntax=»Wildcard»>
<match url=»*» />
<conditions>
<add input=»{REQUEST_FILENAME}» matchType=»IsFile» negate=»true» />
<add input=»{REQUEST_FILENAME}» matchType=»IsDirectory» negate=»true» />
</conditions>
<action type=»Rewrite» url=»index.php» />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
И радуетесь ЧПУ ссылкам!
Я не знаю, в чем причина, но ответ на мой вопрос мной не был найден напрямую вообще. Возможно, это откровения капитана очевидности? Но я чуть не сошла с ума. Надеюсь, что кому-то это все пригодится.