У меня была проблема, и после некоторых исследований я обнаружил именно ту точку, в которой произошел сбой.
blog.domain.com
Не работает, пишет, что страница не может быть найдена (404)
blog.domain.com/index.php
Работает как и ожидалось
Если вы нажмете «Домой», появится сообщение о том, что страница не может быть найдена, если вы попытаетесь просмотреть новое сообщение, появится сообщение о том, что страница не может быть найдена ... Кстати, я вижу каждое сообщение.
Я веду свой блог на хостинге Windows с использованием IIS.
моя постоянная ссылка такова:
/index.php/%postname%
IIRC Мне пришлось использовать index.php, потому что мой IIS не поддерживает перезапись URL.
У меня нет проблем с файлом index.php на URL-адресе, теперь у меня хороший SEO, и я не хочу менять свою постоянную ссылку, но я не знаю, почему сейчас не работает ... только с одного дня до следующий...
Это проблема WP или просто мой хост не работает? Если это мой блог, знаете ли вы, что вызывает это? (Просто для создания конкретной заявки о конкретной проблеме)
Спасибо.
Вы это видели ?: Использование постоянных ссылок без модификаций «WordPress Codex
А использование в постоянных ссылках только% postname% - хорошо известная проблема Wordpress; лучше использовать как минимум% postname% /% year%. Но WP не будет выдавать 404, если вы измените постоянные ссылки; они будут отправлены.
По ссылке выше:
Если вы используете IIS 7 и имеете права администратора на своем сервере, вы можете использовать Microsoft URL Rewrite Module. http://www.iis.net/learn/extensions/url-rewrite-module/using-the-url-rewrite-module вместо. Хотя он не полностью совместим с mod_rewrite, он поддерживает довольно постоянные ссылки WordPress. После установки откройте файл web.config в папке WordPress и добавьте следующее правило в элемент system.webServer
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress Rule" stopProcessing="true">
<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?page_id={R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Видеть http://www.iis.net/learn/extensions/url-rewrite-module/enables-pretty-permalinks-in-wordpress
С настройками постоянных ссылок /% postname% / все страницы сообщений отображались правильно с правильным именем сообщения в URL-адресе, что является предпочтительным для SEO. Однако моя домашняя страница blogs.halloweencostumesale.com не отображалась и выдавала ошибку 404 page not found. Я размещаю на сервере Windows.
После нескольких дней исследований на нескольких форумах у меня не было решения. Если бы я дал blogs.halloweencostumesale.com/index.php, домашняя страница отобразилась бы, но не только с blogs.halloweencostumesale.com.
В настройках IIS для документов по умолчанию, разрешенных для домена, у меня был Index.php, тогда как моим фактическим файлом был index.php. Сервер Appache чувствителен к регистру, и это было проблемой. Я перешел на index.php, т.е. все строчные буквы в документах по умолчанию, разрешенных для домена, и, наконец, все заработало.
Я больше всего знаком с Apache, но я попытаюсь взять там логику и применить ее к IIS. Существует опция конфигурации, определяющая, что такое индексная страница. То есть, когда вы нажимаете domain.com/, вы фактически получаете domain.com/index.html. Я считаю, что в IIS параметр, который вы ищете, называется «документом по умолчанию». Вам нужно добавить index.php в список документов по умолчанию.
Если вы не можете изменить конфигурацию, вы можете обмануть, добавив index.html, который перенаправляет на index.php