Ошибка 404 на перманентных ссылках WordPress в IIS

Вопрос или проблема

Я включил постоянные ссылки на своем сайте WordPress, и теперь каждая страница возвращает ошибку 404. Сайт размещен на IIS 8.5

Файл web.config имеет следующее правило внутри

<?xml version="1.0" encoding="UTF-8"?>

<directoryBrowse enabled="false"/>
<rewrite>
  <rules>
  <clear/>
        <rule name="wordpress" stopProcessing="true">

      <match url=".*" />

      <conditions logicalGrouping="MatchAll">

        <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>

Что я могу сделать, чтобы это исправить и заставить постоянные ссылки работать?

Чтобы постоянные ссылки работали, вам нужно снова сохранить постоянные ссылки в административном разделе постоянных ссылок WP. То же самое касается изменения структуры URL, даже если постоянные ссылки уже использовались.

Вам нужно вставить этот код <?php flush_rewrite_rules( True ); ?> в файл functions.php, чтобы очистить правила перезаписи.

Ссылка codex.wordpress.org

Ответ или решение

Как исправить ошибку 404 для постоянных ссылок в WordPress на IIS 8.5

Введение

Когда вы активируете постоянные ссылки в WordPress, и ваш сайт начинает возвращать ошибку 404 для всех страниц, это может быть связано с неправильной конфигурацией веб-сервера IIS. Часто проблема возникает из-за незаконченной настройки правил переписывания URL или ненастроенной структуры постоянных ссылок. В данной статье мы разберем эффективные шаги для устранения данной ошибки.

Шаг 1: Проверка конфигурации файла web.config

Ваш файл web.config уже содержит базовое правило для работы с постоянными ссылками, однако важно убедиться, что оно правильно настроено. Убедитесь, что ваш файл выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <directoryBrowse enabled="false"/>
    <rewrite>
      <rules>
        <clear/>
        <rule name="wordpress" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <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>

Эта конфигурация должна обрабатывать запросы к постоянным ссылкам, перенаправляя их на index.php, если запрашиваемый файл или директория отсутствует.

Шаг 2: Сохранение настроек постоянных ссылок

Для того чтобы WordPress правильно сгенерировал новые правила перезаписи, вам необходимо зайти в админ-панель WordPress и заново сохранить настройки постоянных ссылок. Перейдите в НастройкиПостоянные ссылки и просто нажмите кнопку «Сохранить изменения». Это позволит WordPress обновить свои правила.

Шаг 3: Принудительная очистка правил перезаписи

Иногда проблема может возникнуть из-за кэшированных правил. Чтобы вручную сбросить правила переписывания, добавьте следующий код в файл functions.php вашей активной темы:

<?php
flush_rewrite_rules(true);
?>

Этот код будет вызывать очистку правил перезаписи при каждом обновлении темы. После его добавления, не забудьте удалить его или закомментировать, чтобы избежать излишней нагрузки на сервер.

Шаг 4: Проверка наличия необходимых разрешений

Убедитесь, что ваш сервер IIS имеет необходимые права на запись в директорию WordPress. Все необходимые файлы и папки, включая wp-content и uploads, должны быть доступны для чтения и записи.

Заключение

Следуя вышеописанным шагам, вы сможете устранить ошибку 404 и настроить постоянные ссылки для вашего сайта на WordPress, работающем под управлением IIS 8.5. Если проблема не решается, рекомендуется проверить другие аспекты конфигурации сервера или обратиться к хостинг-провайдеру для получения дополнительной информации о возможных настройках, которые могут блокировать работу постоянных ссылок.

Оцените материал
Добавить комментарий

Капча загружается...