it-swarm.com.ru

404 не найден, запрошенный URL << имя URL >> не найден на этом сервере в WordPress

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

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

 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.

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

Я нашел несколько решений, которые 

Sudo a2enmod rewrite

Module rewrite already enabled

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

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 

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

7
Sivashanmugam Kannan

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

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

     AllowOverride None

    # ....

</Directory>

и Правка 

AllowOverride None

в 

AllowOverride All

Затем перезапустите ваш веб-сервер и попробуйте снова.

21
Aleksandar Jakovljevic

Сбросьте желаемую постоянную ссылку из админки 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>

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

Спасибо,

1
Said Erraoudy

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

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

Пример с nginx:

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

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

Включение модуля перезаписи недостаточно, необходимо добавить правило (ы) перезаписи.

0
Denis Mysenko