WordPress дает мне 404 страницы, не найденные для всех страниц, кроме главной страницы

внезапно я иду на свой сайт WordPress,и все страницы дают мне 404 страницы, которые не найдены. Я предполагаю, что проблема заключается в структуре permalink, которую я могу поклясться, что не трогал. Постоянная ссылка на "месяц и название."

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

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

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

21 ответов


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

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

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

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


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

войти в вашу админку: Settings > Permalinks что надо : http://yoursite.com/wp-admin/options-permalink.php

выбрать Default настройка permalink, затем Сохранить изменения

тут вы можете верните его снова в другой предыдущий выбор permalink или сохранить как default как Yo желание

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


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

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

<Directory "/var/www/html">

изменить строки:

AllowOverride None

to

AllowOverride All

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


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

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

    <?php
      phpinfo()
    ?>
    

    в нем, открыть его в браузере и поиск mod_rewrite. Он должен быть в разделе "загруженные модули". Если это не так, включите его - посмотрите на свой Apache default подробности - в Ubuntu, вы делаете это с помощью a2enmod.

  • убедитесь, что сервер Apache смотрит на . открыть 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


в админке Вордпресса сделать следующее:

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

  2. нажмите на permalink и выберите post name в переключателе.

  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. скопируйте код и вставьте в .

легко исправить проблему, просто выполните следующие действия ,Если вы получаете доступ для входа в панель администратора, то просто

Go to Settings » Permalinks, and simply click on Save Changes button.

enter image description here

это обновит ваши настройки постоянных ссылок и правила перезаписи flush. В большинстве случаев это решение исправляет ошибку WordPress posts 404. Однако, если это не работает для вас, то вам, вероятно, нужно обновить свой .файл htaccess вручную.

войдите на свой сервер с помощью FTP и измените .реврайт файл, который находится в том же месте, где находятся папки, такие как /wp-content/ и / wp-includes/ , просто поместите коды ниже в свой .реврайт

# 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

надеюсь, что это решит проблему.


эта ошибка вызывает из-за отключения перезаписи mod в Apache httpd.conf документ, просто раскомментировать его и наслаждаться seo дружественных permalinks


если все это не сработает, ваш .htaccess является правильным, и permalinks трюк не работал, вы, возможно, не включили свой apache2 rewite mod.

Я побежал это и моя проблема была решена:

 sudo a2enmod rewrite 

  • проверьте, что каталог включен .htaccess для правильного
  • Проверьте поля "siteurl" и "home" являются правильными

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

во-первых, войдите в свой wp-admin и перейдите в Настройки > Permalinks

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

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

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

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

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

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

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

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

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

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


большую часть времени эта проблема исправлена, просто посетив Настройки - > Permalink страница в Администраторе WordPress и нажмите "Сохранить" (как уже указывалось в нескольких других ответах). Когда эта страница доступна, WordPress переписывает директивы в .htaccess файл, который волшебным образом устраняет проблему. Проблема часто возникает после перемещения сайта (Сайт ломается, потому что .htaccess остается позади или настройки должны быть обновлены).

если WordPress не имеет правильные разрешения для записи .htaccess файл, уведомление появится в верхней части страницы и дальнейшие инструкции в нижней части, когда настройки будут сохранены. В этом случае вам нужно отредактировать .htaccess файл самостоятельно или, лучше, чтобы исправить разрешения на этот файл. Файл находится в корне установки WordPress. cd в каталоге sudo chmod 644 .htaccess. Вы также можете проверить, принадлежит ли файл к правильной группе, и изменить это с помощью chown. Спросите вашего хостинга провайдер если вы не знаете, как это сделать.

если вы находитесь на общем хостинге, это, вероятно, все, что вы можете сделать. Если у вас все еще есть проблема, вы можете поговорить с поддержкой хостинг-провайдера. В противном случае убедитесь, что используется .htaccess файлы включена на сервере, как @георгеос уже предложил. Обратите внимание, что httpd.conf не всегда используется (Ubuntu указывает, что он устарел но официальные документы Apache по-прежнему говорят, что это часто основная конфигурация файл). /etc/httpd/conf/httpd.conf и /etc/apache2/apache2.conf кажется, наиболее распространенными местами для этого файла. Найдите блок для общей папки, обычно <Directory /var/www/> и убедитесь, что AllowOverride директива установлена в All. Если установлено значение None ваш .htaccess файл просто игнорируется сервером.


Я установил mod_rewrite, чтобы исправить эту проблему. Ниже ссылка предоставляет руководство по установке:- http://www.iasptk.com/enable-apache-mod_rewrite-ubuntu-14-04-lts/


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

AH00670: параметры FollowSymLinks и SymLinksIfOwnerMatch отключены, таким образом, директива RewriteRule также запрещена из-за ее сходства возможность обойти ограничения каталога : /СРВ/в WWW/htdocs в/РГ-интранет/

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


У меня такая же проблема, и поэтому я удаляю Apache и делаю это снова, и проблема была решена.


возможно .htaccess запрещен в настройках веб-хоста. Настройка постоянные ссылки по умолчанию будет работать в этом случае.


просто перейдите в раздел Настройки - >Permalink в приборной панели, а затем Сохранить Изменения кнопка в последнем.\


Случай 1: - давайте подумаем, если перенести сайт с одного хостинга на другой хостинг, если видите такую проблему.

решение: - просто перейдите к старой копии сервера .htaccess код файла, затем мимо в новом сервере .файл htaccess. 99% его работ.


если ваша установка WordPress находится в подпапке (ex. https://www.example.com/subfolder) измените эту строку в своем WordPress .htaccess

RewriteRule . /index.php [L]

до

RewriteRule . /subfolder/index.php [L]

таким образом, вы говорите серверу искать WordPress index.php в папке WordPress (ex. https://www.example.com/subfolder), а не в общей папке (ex. https://www.example.com).


Я просто изменил постоянную ссылку на "месяц и День" всех сообщений, перейдя к настройке>Постоянная ссылка.

теперь все сообщения открыты и работают нормально.

опять же, я переименовал все сообщения в его фактическую постоянную ссылку. Его снова работает нормально.

этот метод сработал для меня: -)


для пользователей nginx

используйте следующее в файле conf для вашего сайта (обычно /etc/nginx/sites-available/example.com)

location / { try_files $uri $uri/ /index.php?q=$uri&$args; }

Это руки от всех запросов permalink индексировать.php со строкой URI и предоставленными аргументами. Сделай systemctl reload nginx чтобы увидеть изменения, и ваши ссылки не на главной странице должны загружаться.


У меня была эта проблема не так давно. Я сбросил свою постоянную ссылку по умолчанию или просто сохранил ее, обновил темы/ядро до (4.7.4)/плагинов, деактивировал все плагины, переключился на тему по умолчанию, оптимизировал базу данных .htaccess уже по умолчанию, проверены права доступа к файлам, mod_rewrite включен.

пока ничего не работает, что работает сообщения, новая страница, страница /contact за исключением старых страниц.

в основном, страницы / URL-адреса, которые не работают являются:

/breeding
/training
/training/*
/breeding/*

Ultimate, я нашел эти файлы в корневой папке:

/разведения.php и / обучение.в PHP

я переименовал оба файла, и страницы выше работали.