Wordpress выдает 404, когда я пытаюсь использовать пользовательскую страницу шаблона

Я сделал собственный шаблон страницы (например, для страницы «О нас»), добавил имя шаблона в файл и сохранил его. Затем я попытался добавить страницу в консоль администратора wp, используя этот шаблон. Он сказал, что страница была успешно создана, но когда я пытаюсь открыть ее в браузере, он показывает мне ошибку 404. Что я сделал не так? Спасибо.

Я забыл сказать, что я установил постоянные ссылки как /%postname%/, а затем выдает эту ошибку. Если я не использую постоянные ссылки (настройка по умолчанию), страница отображается нормально.


person Sergei Basharov    schedule 26.05.2010    source источник


Ответы (3)


Я думаю, что проблема не в вашем пользовательском шаблоне, а в вашей структуре постоянных ссылок.

На самом деле не рекомендуется просто использовать /%postname%/ — цитату из Кодекса;

Запуск постоянных ссылок с %postname% настоятельно не рекомендуется по соображениям производительности.

Что такое слаг («очищенный» заголовок, используемый в URL-адресе) проблемной страницы?

person TheDeadMedic    schedule 26.05.2010
comment
это просто строка "о". Пытался найти что-то по проблеме и вроде как что-то с Apache mod_rewrite. Я использую локальный wamp, поэтому, возможно, мне следует установить некоторые настройки, хотя я уже включил настройку в файле конфигурации apache для загрузки модуля mod_rewrite. - person Sergei Basharov; 27.05.2010

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

Вместо require_once('./wp-blog-header.php'); на пользовательской странице для включения темы Wordpress,

Я использовал это, require_once('./wp-load.php');

Это решило проблему.

Пожалуйста, дайте мне знать, если это работает для вас. Я часами отслеживал и исправлял это для theworksheets.com.

person Deepan Prabhu Babu    schedule 13.04.2011

Убедитесь, что вы перезагрузили Apache после редактирования файла конфигурации.

Также проверьте, есть ли файл .htaccess (без имени файла, с расширением «htaccess») в корневом каталоге вашего WordPress и что он содержит;

# 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
person TheDeadMedic    schedule 26.05.2010
comment
Я все это проверил, и файл .htaccess такой же. Может быть, я могу сделать что-нибудь еще по этому поводу? Другой способ: я могу загрузить его на хостинг-провайдера и протестировать его там. Спасибо. - person Sergei Basharov; 27.05.2010
comment
Чтобы еще раз проверить, действительно ли у вас загружен mod_rewrite, удалите строки <IfModule />. Apache должен колебаться, если mod_rewrite не загружен. - person TheDeadMedic; 27.05.2010
comment
Да просто не запустилось. Означает ли это, что mod_rewrite не был загружен? У меня есть эта незакомментированная строка в файле httpd.conf: LoadModule rewrite_module modules/mod_rewrite.so достаточно ли этого для загрузки этого модуля? - person Sergei Basharov; 27.05.2010
comment
Какую версию Apache вы используете? Думаю, некоторым тоже нужна строка ClearModuleList без комментариев, как и AddModule mod_rewrite.c. Плюс вы точно перезапустили Apache? - person TheDeadMedic; 27.05.2010