Я занимаюсь разработкой сайта со следующей структурой
Htaccess содержит HTTP-запрос сервера следующим образом:
<IfModule http2_module>
SetEnvIf Cookie "cssloaded=1" cssloaded
<filesMatch "\.([hH][tT][mM][lL]?)">
Header add Link "<assets/base/css/style.css>;rel=preload;as=style" env=!cssloaded
Header add Set-Cookie "cssloaded=1; Path=/; Secure; HttpOnly" env=!cssloaded
</filesMatch>
Проблема заключается в том, что сервер помещает style.css также во французские и английские подкаталоги, что приводит к значению 404 (а затем переходит к загрузке правильного без подталкивания сервера, являющегося ../assets/base/css/style.css).
Как избежать этого ИЛИ (желательно) проталкивать файл во всех каталогах, но указывать на правильный файл?
Вы нажимаете таблицу стилей относительного пути:
Header add Link "<assets/base/css/style.css>;rel=preload;as=style" env=!cssloaded
Почему бы не выдвинуть абсолют?
Header add Link "</assets/base/css/style.css>;rel=preload;as=style" env=!cssloaded
Или, в качестве альтернативы, используйте location или locationMatch вместо fileMatch:
<locationMatch "^/$">
Header add Link "<assets/base/css/style.css>;rel=preload;as=style" env=!cssloaded
Header add Set-Cookie "cssloaded=1; Path=/; Secure; HttpOnly" env=!cssloaded
</locationMatch>
<locationMatch "^/en/$">
Header add Link "<../assets/base/css/style.css>;rel=preload;as=style" env=!cssloaded
Header add Set-Cookie "cssloaded=1; Path=/; Secure; HttpOnly" env=!cssloaded
</locationMatch>
<locationMatch "^/fr/$">
Header add Link "<../assets/base/css/style.css>;rel=preload;as=style" env=!cssloaded
Header add Set-Cookie "cssloaded=1; Path=/; Secure; HttpOnly" env=!cssloaded
</locationMatch>
Других решений пока нет …