Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > HTTP сервера > Почему не отдается ошибка 404?


Автор: southern 23.02.17, 19:53
Ситуация: сайт на вордпрессе. Специально обращаюсь к несуществующему ресурсу https://site.ru/proekty/proekty-2/proek или https://site.ru/proekty/pro/, но сайт отдает код 301 и открывается https://site.ru/proekty/

https://site.ru/n редиректится на https://site.ru/news/.

Каждый раз проверяю в приватном режиме браузера, с другой машины, с телефона. Результат везде одинаковый. В .htaccess вот что:

<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    # 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
    AddDefaultCharset utf-8
    AddType 'text/html; charset=utf-8' .html .htm .shtml

Автор: simsergey 24.02.17, 05:57
Стоит почитать мануал по RewriteEngine.
Запросы по условию перенаправляются на index.php, т.е. если запрошен не файл и не директория, то такие запросы направлять на index.php.
В результате запрос
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    https://site.ru/pro
будет преобразован апачем в
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    https://site.ru/index.php/pro
, где index.php получит параметр pro, по какой-то своей эвристике сформирует ответ, указав 301 и новый адрес. (301 перемещено навсегда).

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

Автор: southern 27.02.17, 14:16
На официальном https://wordpress.org/plugins/browse/beta/ (взято первое попавшееся) при обращении к https://wordpress.org/plugins/browse/bet уводит на https://wordpress.org/plugins/
8-)

Автор: southern 27.02.17, 19:31
Нашлось объяснение: https://developer.wordpress.org/reference/f..._404_permalink/

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)