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) с аргументами.
включение модуля перезаписи недостаточно, вам нужно добавить правила перезаписи.