WordPress предоставляет мне страницу 404, не найденную для всех страниц, кроме главной страницы - PullRequest
101 голосов
/ 03 марта 2011

Внезапно я захожу на свой веб-сайт WordPress, и все страницы дают мне страницу 404 не найденную. Я предполагаю, что проблема заключается в структуре постоянных ссылок, которую, клянусь, я не касался. Постоянная ссылка установлена ​​на «месяц и имя».

Я исследовал подобные случаи этой проблемы в Интернете, и во многом это связано с файлом .htaccess? Я пытался найти, но не могу. Возможно, это как-то удалили? Где он должен быть расположен.

Любые предложения будут полезны

и, конечно, я вижу скрытые файлы.

Ответы [ 21 ]

91 голосов
/ 03 марта 2011

.htaccess - это скрытый файл, поэтому вы должны установить все файлы как видимые в вашем ftp.

Я предлагаю вам вернуть структуру постоянных ссылок по умолчанию (? P = ID), чтобы убедиться, что проблема связана с .htaccess.

После этого вы можете просто снова установить структуру "месяц и имя" и посмотреть, работает ли она.

PS: Вы обновились до 3.1? Я видел некоторых людей с проблемами плагинов в этом случае.

47 голосов
/ 27 сентября 2013

Исправить эту проблему очень просто, если вы использовали постоянные ссылки, отличные от default, такие как Day and name, Month and name, Numeric, Post name или Custom Structure, вам нужно только

Войдите в вашу административную область: Settings > Permalinks, которая должна быть: http://yoursite.com/wp-admin/options-permalink.php

Выберите Default Постоянная ссылка , затем сохраните изменения

Тогда вы можете верните его снова к другой предыдущей постоянной ссылке или оставьте его как default как пожелаете

Обратите внимание, что эта проблема может возникнуть при перемещении сайта с доменаили местоположение к другому.

46 голосов
/ 09 сентября 2016

Как правило, файл .htaccess должен существовать, а httpd.conf должен быть правильным.

В моем случае я изменил файл /etc/httpd/conf/httpd.conf в разделе:

<Directory "/var/www/html">

Изменена строка:

AllowOverride None

до

AllowOverride All

И перезапустите веб-сервер.

26 голосов
/ 30 января 2017

Если работает поведение по умолчанию (example.com/?p=42), вам следует:

  • Изменить предпочитаемый стиль постоянной ссылки: Admin: Settings > Permalinks и нажать Сохранить.Иногда это решает проблему.Если это не так:
  • Убедитесь, что файл /path/to/wordpress/.htaccess был изменен и теперь содержит строку RewriteEngine On.Если строка не содержит строки, это проблема с разрешениями Wordpress.
  • Убедитесь, что загружен модуль 'rewrite': создайте файл PHP с

    <?php
      phpinfo()
    ?>
    

    откройте его в браузере и выполните поиск mod_rewrite.Это должно быть в разделе «Загруженные модули».Если это не так, включите его - посмотрите детали вашего файла Apache index.html по умолчанию - в Ubuntu вы делаете это с помощью помощника a2enmod.

  • Убедитесь, что сервер Apache ищетв файле .htaccess.открыть httpd.conf - или это альтернатива Ubuntu, /etc/apache2/apache2.conf.В нем должно быть что-то вроде

    <Directory /path/to/wordpress>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>
    
  • После внесения этих изменений не забудьте перезапустить сервер apache.sudo service apache2 restart

13 голосов
/ 20 февраля 2018

ЕСЛИ все это не работает, ваш .htaccess верен, и трюк с постоянными ссылками не сработал, возможно, вы не включили ваш мод apache2 rewite .

Я запустил это, и моя проблема была решена:

 sudo a2enmod rewrite 
9 голосов
/ 14 марта 2014

В интерфейсе администратора WordPress сделайте следующее:

  1. Перейти к настройке администратора

  2. Нажмите на постоянную ссылку и выберите название сообщения в радиокнопке.

  3. Прокрутите вниз, и вы увидите .htaccess код здесь, как.

    <IfModule mod_rewrite.c>
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /wordpress/index.php [L]
    </IfModule> 
    
  4. Скопируйте код и вставьте в файл .htaccess.
6 голосов
/ 06 апреля 2013

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

3 голосов
/ 04 марта 2011
  • Убедитесь, что каталог на .htaccess правильный
  • Проверьте правильность полей "siteurl" и "home"
2 голосов
/ 03 июля 2018

У нас была такая же проблема, и мы решили ее, проверив error.log нашего виртуального хоста. Мы нашли следующее сообщение:

AH00670: опции FollowSymLinks и SymLinksIfOwnerMatch отключены, поэтому директива RewriteRule также запрещена из-за возможность обойти ограничения каталога: / SRV / WWW / HTDOCS / сор-интрасеть /

Решением было установить Options All и AllowOverride All в нашей конфигурации виртуального хоста.

2 голосов
/ 12 октября 2012

Если у вас есть FTP доступ к вашей учетной записи:

Сначала войдите в свой wp-admin и перейдите в Настройки> Постоянные ссылки

Вы должны увидеть что-то внизу, которое говорит:

"Если бы ваш файл .htaccess был доступен для записи, мы могли бы сделать это автоматически, но это не так, это правила mod_rewrite, которые вы должны иметь в своем файле .htaccess. Нажмите на поле и нажмите CTRL + a, чтобы выбрать все . "

Если это правда, сделайте следующее:

  1. Зайдите в настройки вашего FTP-клиента и убедитесь, что скрытые файлы отображаются (зависит от вашего FTP-клиента). Если вы этого не сделаете, вы не сможете найти файл htaccess

  2. Перейдите в папку, в которой находятся ваши каталоги wp-admin, wp-content, wp-includes. Проверьте файл .htaccess. Если он существует, перейдите к шагу 4

  3. Если он не существует, создайте новый пустой файл в вашей FTP-программе с именем .htaccess

  4. Измените CHMOD для вашего файла .htaccess на 666 (ваши предпочтения относительно того, как вы хотите это сделать)

  5. Вернитесь на свою страницу Постоянных ссылок и отредактируйте необходимую структуру ссылок. Проблема должна быть решена!

  6. После того, как вы закончите, обязательно измените chmod файла htaccess на 644.

Просто возникла та же проблема, и она, казалось, исправила это мгновенно! Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...