URL изменяется при использовании документа с ошибкой 403 в .htaccess

#.htaccess #web #http-status-code-403

#.htaccess #веб #http-status-code-403

Вопрос:

Я написал файл .htaccess, чтобы убедиться, что посетители всегда перенаправляются на https и на www. В дополнение к этому я также добавил пользовательскую HTML-страницу для ошибок 404.

Когда посетители пытаются получить доступ к запрещенному файлу, я хочу, чтобы они видели мое пользовательское сообщение 404, чтобы не показывать, что путь содержит запрещенный файл.

Вот в чем проблема. При записи, например «example-domain.com/.htaccess » (нет www или https) в браузере, URL в поле адреса в браузере изменяется на «https://www.example-domain.com/missing.html «. Но я хочу, чтобы это говорило «https://www.example-domain.com/.htaccess » при отображении моей страницы 404.

Это работает для ошибок 404. Но при вводе пути в поле адреса, который одновременно вызывает ошибку 403 и выполняет хотя бы одно из условий перезаписи в моем файле .htaccess (отсутствуют https и / или www) Я сталкиваюсь с описанной выше проблемой.

Вот код в файле .htaccess:

 RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^example-domain.com [NC]
RewriteRule ^(.*)$ https://www.example-domain.com/$1 [L,R=301,NC]

ErrorDocument 403 /missing.html
ErrorDocument 404 /missing.html
  

С наилучшими пожеланиями

Комментарии:

1. То, что вы описываете, не должно происходить с директивами, размещенными на Apache (или LiteSpeed). На каком веб-сервере вы находитесь / версии? Как .htaccess блокируется? Можете ли вы подтвердить HTTP-перенаправления (и коды состояния), которые вы видите в браузере. Есть ли у вас какие-либо другие директивы в .htaccess файле? Какие-либо другие .htaccess файлы? Конфигурация сервера?