Ошибка «введите текст/html, это не текст/css» при перенаправлении пользователя на веб-страницу через .htaccess

#html #css #apache #.htaccess

Вопрос:

У меня есть веб-сайт, работающий на сервере apache. Я создал новую страницу (mantenimiento.php) для автоматического перенаправления пользователей туда во время развертывания в рабочей среде.

Я добавил следующий код в файл .htaccess:

 RewriteEngine on
#RewriteCond %{REQUEST_URI} !/mantenimiento.php$
#RewriteCond %{REMOTE_ADDR} !^x.xxx.xxx.xxx //my public ip
#RewriteRule $ /mantenimiento.php [R=302,L]
 

(Я новичок в использовании правил перезаписи)

Я указал свой ip-адрес, чтобы я мог работать со страницей. Остальные пользователи должны увидеть эту страницу mantenimiento.php

Однако при доступе к веб-сайту с помощью анонимного браузера, такого как Tor, я вижу ошибку:

 The stylesheet <my-site-web> was not loaded because its MIME type, "text/html", is not "text/css".
 

введите описание изображения здесь

Стили и изображения не загружаются.

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

Как я могу загрузить стили и изображения?

Заранее спасибо

Ответ №1:

Вам нужно исключить js/css/images из нового правила:

 RewriteEngine on

RewriteCond %{REQUEST_URI} !/mantenimiento.php$ [NC]
RewriteCond %{REMOTE_ADDR} !^x.xxx.xxx.xxx
RewriteRule !.(css|js|png|jpe?g|gif|ico)$ /mantenimiento.php [R=302,L,NC]
 

В противном случае веб-браузер попытается отобразить выходные данные в /mantenimiento.php качестве css или графического ресурса.