@Otrivin
junior full-stack сисадмин

Как задать выражение только для главной страницы?

Делаю предзагрузку картинки для главной страницы. Написал код, но педзагрузка срабатывает на любом url. Как мне ограничить его только главной?

Либо, можно как-то иначе устанавливать переменную только на главной странице?

# Добавляем предзагрузку файла
# Если мы на главной странице, и есть кука res_pushed со значением true, устанавливаем флаг RES_PUSHED в любое значение - главное чтобы он был
# Далее будем проверять флаг: если он отсутствует - добавляем заголовок Link и устанавливаем куку res_pushed
RewriteCond %{REQUEST_URI} ^/index.php$ [OR]
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_COOKIE} ^.*res_pushed=true.*$ [NC]
RewriteRule .* - [E=RES_PUSHED:anyValue]

Header add Link "</lcp.webp>;rel=preload;as=image" env=!RES_PUSHED
Header add Set-Cookie "res_pushed=true; Max-Age=1200; Path=/" env=!RES_PUSHED
  • Вопрос задан
  • 39 просмотров
Решения вопроса 1
@dodo512
Header add Link "</lcp.webp>;rel=preload;as=image" env=!RES_PUSHED
Header add Set-Cookie "res_pushed=true; Max-Age=1200; Path=/" env=!RES_PUSHED

SetEnvIf Request_URI "^(?!/$|/index\.php$)" RES_PUSHED=1


Если избавиться от двойного отрицания env=! и (?!...)
Header add Link "</lcp.webp>;rel=preload;as=image" env=RES_PUSHED
Header add Set-Cookie "res_pushed=true; Max-Age=1200; Path=/" env=RES_PUSHED

SetEnvIf Request_URI "^(/|/index\.php)$" RES_PUSHED=1
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы