#.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
файлы? Конфигурация сервера?