404 не найден, запрошенный URL не найден на этом сервере в wordpress

Я недавно установил wordpress, я сталкиваюсь с проблемами, когда я пытаюсь изменить формат permalinks,

когда я изменяю постоянную ссылку по умолчанию на день и время

 Default    http://127.0.0.1/?p=123
 Day and name   http://127.0.0.1/2015/03/16/sample-post/ 

сгенерированная ссылка не работает , она дает такой же error 404 все время ,

 The requested URL /2015/03/16/post-5-problem/ was not found on this server.

но когда тип permalink был по умолчанию, это работает отлично.

Я нашел некоторые решения, которые

sudo a2enmod rewrite

Module rewrite already enabled

другое решение -изменить разрешения режима .htaccess файл 666 (давая разрешение на запись в wordpress .htaccess file) перед изменением permalink с default на какой-либо другой тип ,

sudo chmod 666 /address_of_.htaccess 

Я проверил .htaccess файл

# 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

но выше, кажется, правильно, выше включено самим wordpress

оба решения, похоже , не работают, есть ли еще что-то, что мне нужно изменить, чтобы включить параметры permalink ?

3 ответов


Если это новая установка веб-сервера, это возможно .по умолчанию правила htaccess не разрешены. Чтобы исправить это, отредактируйте httpd.conf (обычно это в /etc/ apache2), найти

<Directory "path/to/your/document/root">    
    # ....

     AllowOverride None

    # ....

</Directory>

, и

AllowOverride None

to

AllowOverride All

затем перезапустите веб-сервер и повторите попытку.


сбросьте нужную постоянную ссылку из области администратора wordpress и добавьте этот код в htaccess:

# BEGIN WordPress

<IfModule mod_rewrite.c>
ErrorDocument 404 /index.php?error=404
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

теперь проверьте сообщения в блоге и страницы.

спасибо,


вы получаете эту ошибку, потому что ваш веб-сервер не может найти файл, и он не передает запрос Wordpress.

вам нужно добавить правила перезаписи для вашего Wordpress, и инструкции для этого зависят от вашего программного обеспечения веб-сервера (Apache, nginx и т. д.).

пример с nginx:

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

что буквально означает: попробуйте открыть "/2015/03/16/ post-5-problem/ " в файловой системе сначала, если она не существует, попробуйте добавить косую черту, если это не поможет пройти запрос на индексацию.php (который является основным файлом Wordpress) с аргументами.

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