Назад | Перейти на главную страницу

htaccess [F] не работает

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

Следующее ниже не работает и просто запускает 404:

RewriteRule ^(.*wp-.*)$ - [L,F]

Хотя если я так сделаю, все нормально:

RewriteRule ^(.*wp-.*)$ whatever [L,R]

РЕДАКТИРОВАТЬ: проверка через http://htaccess.madewithlove.be/ не показывает проблем.

РЕДАКТИРОВАТЬ 2: Я не понимаю, как это дубликат тут mod_rewrite, очевидно, я проверил его и, к сожалению, не нашел там решения.

РЕДАКТИРОВАТЬ 3: Я смог подтвердить, что он работает на моей локальной виртуальной машине и других промежуточных серверах, есть ли способ отладить его на рабочем сервере?

РЕДАКТИРОВАТЬ 4: исправление было предоставлено в комментариях, ясно показывая, что решение не упоминалось в "дублирующем" сообщении, но было связано с отсутствующей страницей ошибки 403 по умолчанию.

Это может произойти, когда ErrorDocument определяется в конфигурации сервера, которая переопределяет статус HTTP, который в противном случае был бы возвращен для этой конкретной ошибки. В этом случае ErrorDocument может быть определен для статуса 403, но вместо этого явно возвращает код статуса 404 HTTP.

Обычно вы разрешаете эту проблему в источнике в конфигурации сервера, однако вы можете сбросить документ об ошибке до значения по умолчанию (или установить свой собственный ErrorDocument) в .htaccess. Например:

ErrorDocument 403 default

Я видел похожую (очевидную) неправильную конфигурацию на некоторых общих серверах, где переопределение в .htaccess это единственный вариант.

... он пытался получить 403.shtml страница, но поскольку ее не существовало, она перешла на 404.

Возможно, это звучит правдоподобно, однако «обычно» так не работает. Обычно, если определенный настраиваемый документ об ошибке не существует, Apache отвечает «сгенерированным системой» документом об ошибке и по-прежнему устанавливает правильный код состояния HTTP.

(Документ об ошибке "сгенерированный системой" слегка отличается от документа об ошибке "по умолчанию", который вы обычно видите.)