Я недавно установил 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), прежде чем изменять постоянную ссылку по умолчанию на какой-либо другой тип,
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
Оба решения, похоже, не работают, есть ли еще одна вещь, которую я должен изменить, чтобы включить параметры постоянной ссылки?
Если это новая установка веб-сервера, возможно, что правила .htaccess по умолчанию не разрешены. Чтобы исправить это, отредактируйте файл httpd.conf (обычно он находится в / etc / apache2), найдите
<Directory "path/to/your/document/root"> # .... AllowOverride None # .... </Directory>
и изменение
AllowOverride None
в
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) с аргументами.
Включение модуля перезаписи недостаточно, вам нужно добавить правило (ы) перезаписи.