Запрашиваемая страница /не найдена на этом сервере

Домашняя страница моего сайта wordpress, кажется, отображается правильно, но если вы перейдете на любую из других страниц, я получу следующее сообщение об ошибке:

Not Found

The requested URL /about was not found on this server.

Apache/2 Server at www.wildlionmedia.co.uk Port 80

Я не уверен, что это проблема с темой или.файл htaccess, который не переписывается правильно.

http://www.wildlionmedia.co.uk/

любые идеи, как я могу решить эту проблему?

# Switch rewrite engine off in case this was installed under HostPay.
RewriteEngine On

SetEnv DEFAULT_PHP_VERSION 53

DirectoryIndex index.cgi index.php

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine Off
RewriteBase /wildlionmedia.co.uk/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wildlionmedia.co.uk/index.php [L]
</IfModule>

# END WordPress

13 ответов


это не типичный блок перезаписи 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

см.http://codex.wordpress.org/Using_Permalinks#Where.27s_my_.htaccess_file.3F

где мой .файл htaccess? Индекс WordPress.php и .htaccess файлы должны быть вместе в каталоге, указанном адресом сайта (URL-адрес) на странице общие параметры. Так как имя файла начинается с точки, файл может не отображаться через FTP-клиент если вы не измените настройки инструмента FTP, чтобы показать все файлы, включая скрытые файлы. Некоторые хосты (например, Godaddy) могут не показывать или позволяет редактировать .htaccess если вы устанавливаете WordPress через Установка подключения хостинга Godaddy.

создание и редактирование (.htaccess), если у вас еще нет .htaccess Файл, Создать. Если у вас есть shell или ssh доступ к сервер, простое прикосновение .команда htaccess файл будет создан файл. Если вы используете FTP для передача файлов, создание файла на локальном компьютере, назвать это 1.htaccess, загрузите его в корень своей папки WordPress, а затем переименуйте его .реврайт.

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

самая простая и быстрая вещь, чтобы сделать это сбросить ваши постоянные ссылки в приборной панели>>настройки>>постоянные ссылки и убедитесь .откройте файл. htaccess доступен для записи, так что WordPress можно писать правила себя.

и: вы знаете, что вы звоните index.cgi в качестве документа по умолчанию, а не index.php? Это неправильно. Удалить index.cgi. Или попробуйте удалить всю строку, потому что определение документа по умолчанию на вашем сервере может не понадобиться.


Если все выше не работает. Тогда попробуй вот это. Я попробовал. Это работает на меня.

  1. Go / etc/httpd/conf / httpd.conf.
  2. изменить AllowOverride нет AllowOverride Все.
  3. перезагрузка сервер apache.

обновление 2017

для новых версий apache файл называется apache2 не.conf

Так откройте файл, введите судо нано /etc/apache2 не/apache2 не.conf и измените соответствующую строку внутри блока <Directory /var/www >


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

перейдите в Панель администратора Wordpress > "настройки" > "постоянные ссылки" > "Общие настройки", установите переключатель" пользовательская структура " и вставьте в текстовое поле:

/index.php/%year%/%monthnum%/%day%/%postname%/

и нажимаем кнопку Сохранить.

Я получил это решение от этого ссылке


на веб-сайте Wordpress есть надежный ответ:

где мой .файл htaccess?

индекс WordPress.php и .htaccess файлы должны быть вместе в каталог, указанный настройкой адреса (URL) сайта в вашем общем Страница параметров. Поскольку имя файла начинается с точки, файл может быть не виден через FTP-клиент если вы не измените настройки инструмента FTP для отображения всех файлов, включая скрытые файлы. Некоторые хосты (например, Godaddy) могут не отображаться или разрешать редактирование .htaccess если вы устанавливаете WordPress через хостинг Godaddy Установка соединения.

создание и редактирование (.htaccess)

Если у вас еще нет a .htaccess Файл, Создать. Если у вас есть shell или ssh доступ к серверу, простое прикосновение .команда реврайт создадим файл. Если вы используете FTP для передачи файлов, создать файл на локальном компьютере, назовите его 1.htaccess, загрузите его в корень папки WordPress, а затем переименуйте его в .реврайт.

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

следующий код перезаписи permalink должен быть включен в ваш .файл htaccess (начиная с WordPress 3.0):

# 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

*взято из здесь.


Я удалил предыдущие .htaccess файл и создал новый, нажав на кнопку Сохранить в настройках - >Permalinks

и теперь, когда страницы начали работать нормально...


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

перейдите в Панель администратора Wordpress > "настройки" > "постоянные ссылки" > "Общие настройки", установите переключатель" пользовательская структура " и вставьте в текстовое поле:

/index.php/%year%/%monthnum%/%day%/%postname%/

и нажимаем кнопку Сохранить.


выбранный ответ не решить эту проблему для меня. Так что для тех, кто все еще чешет голову над этим, я нашел другое решение!

в моих настройках Apache (httpd.conf) я включил следующий модуль:

loadmodule rewrite_module modules/mod_rewrite.так что

и теперь сайт работает, как ожидалось.


Hie,

хотя поздно, если кто-то страдает от подобных проблем, вот что вы можете сделать, чтобы разрешить постоянные ссылки, изменив файл виртуального хоста или где бы вы ни размещали свои сайты WP.

Так что в основном все работает нормально - вы настраиваете постоянные ссылки для публикации, и внезапно url-адрес исчезает. Вы пошли на много форумов disscussion (как и я), попробовали много изменений и получили ошибки "разрешение на сервер 403" или URL-адрес не найден. Все, что тебе нужно сделать, это перейдите к файлу хоста, например 000-default.conf при использовании виртуального хоста по умолчанию или файла конфигурации внутри сайтов-включено,

используйте в разделе каталога:

<Directory "path/to/dir">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Donot используйте следующий внутренний каталог

Order allow,deny
Allow from all

он приказывает и разрешает директивы устарели в Apache 2.4.

аналогично вы можете настроить каталог в /etc/apache2 / apache2.conf установить каталог для вашего пути и donot использовать выше - это будет причина разрешения 403 ошибка.

в дополнение к этому Вам нужно будет включить mod_rewrite для apache


у меня такая же проблема. Моя домашняя страница может быть доступна, но статья просто не найдена на сервере.

на cpanel file manager > public_html и удалить .htaccess.

затем перейдите к настройке permalink в WordPress, установите постоянную ссылку на все, что хотите, а затем сохраните. Виола все вернула в норму.

эта проблема возникла после обновления WordPress.


* * Решена Проблема Permalink Wordpress ** 1) Войдите в админ панель WordPress > нажмите на настройки > premalinks > выберите название поста. 2) после этого войдите на свой хостинг-сервер goto .htaccess файл и заменить код.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

убедитесь, что mode_rewrite включен в настройках APACHE. Ссылка здесь https://github.com/h5bp/server-configs-apache/wiki/How-to-enable-Apache-modules

затем убедитесь, что вы правильно .реврайт https://wordpress.org/support/topic/404-errors-with-permalinks-set-to-postname/

и исправьте настройки виртуального хоста в настройках Apache Как установить AllowOverride все


вот еще одна версия для Wordpress, оригинальная не работала по назначению.

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^index\.php$ - [END]
    RewriteCond  ^(index\.php)?$ [OR]
    RewriteCond  \.(gif|jpg|png|ico|css|js)$ [NC,OR]
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.*)$ - [END]
    RewriteRule ^ /index.php [L]
</IfModule>
# END WordPress

ссылка из этого Github хранилище, изменен немного. после чрезмерного тестирования это правило не решает всех проблем. у нас есть Wordpress интернет-магазин, который имеет 40 плагинов и где-то есть переписать столкновение. Я искренне надеюсь, что следующая версия Wordpress не имеет URL переписывает.


RewriteRule ^index\.php$ - [L]

Syntax Rewrite Rule

на ^ означает начало строки \ побег . или это будет значить любой символ, и $ означает конец строки.

^index\.php$ если http(S)://имя хоста/


RewriteRule ^ /index.php [L]

на [L] флаг заставляет mod_rewrite прекратить обработку набора правил. В большинстве контекстов это означает, что если правило совпадает, дальнейшие правила обрабатываться не будут. Это соответствует последней команде в Perl или команде break В C. используйте этот флаг, чтобы указать, что текущее правило должно применяться немедленно без рассмотрения дальнейших правил.

короче говоря, перепишите каждый путь как http(S)://имя хоста/