Ваш вопрос немного расплывчатый, поскольку вы не приводили примеры URL-адресов и структуры файла. Однако, если у файлов HTML нет расширений, вполне вероятно, что заголовок ответа HTTP Content-Type
, отправляемый с сервера, либо неверен, либо полностью отсутствует (и зависит от браузера, который "отслеживает содержимое" - что происходит чтобы получить смешанные результаты).
Нам нужно сделать несколько предположений:
- Все файлы HTML (не имеющие расширений файлов) нигде не содержат точку в путь к файлу.
Файлы CSS и JS имеют соответствующие расширения ie. .css
и .js
, и уже возвращают правильный тип MIME (заголовок Content-Type
).
Если у них тоже нет расширений файлов, их нужно будет указывать в спецификациях c каталогов, чтобы мы могли установить соответствующий тип MIME соответственно. Нам также необходимо создать исключения с нашими правилами, чтобы избежать конфликтов.
Итак, чтобы браузер интерпретировал эти файлы как HTML, нам необходимо убедиться, что мы отправляем правильный MIME-тип (ie. text/html
) в заголовке ответа Content-Type
. (Я предполагаю, что это не тот случай.)
Например, используя mod_rewrite в файле .htaccess
в вашем поддомене (который, как я полагаю, отделен от вашего основного домена):
RewriteEngine On
RewriteRule ^([^.]+)?$ - [T=text/html]
Однако, как отмечалось выше, если ваши ресурсы * stati c (JS, CSS, images и т. Д. c.) Также не имеют расширений файлов, нам нужно добавить условия к вышеуказанному правилу. и создайте дополнительные правила для разных типов файлов / пантомим.
В стороне:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]
Эти директивы, которые вы опубликовали в вопрос, похоже, не имеет никакого отношения к вашему вопросу, что только усилило путаницу в комментариях.