Получить данные PHP $ _SESSION в .htaccess для кеша LiteSpeed

Мне нужно отправить данные с $_SESSION из файла PHP в .htaccess для настройки переменной Vary для настройки кеша LiteSpeed.

Пример сценария PHP:

<?php $lang = $_SESSION['lang'];?>

Пример .htaccess

...
<IfModule LiteSpeed>
CacheLookup public on
CacheLookup private on
RewriteRule .* - [E=cache-control:max-age=604800]
RewriteRule .* - [E=cache-control:vary=**!!!HERE I NEED TO HAVE $lang value!!!**]
</IfModule>
...

Я уже пробовал эти способы:

  1. Через куки. Я устанавливаю переменную PHP в куки и получаю ее оттуда в .htaccess через "RewriteCond %{HTTP_COOKIE} (.*) [NC]". Но у меня будут также личные данные, которые я не могу сохранить в файлах cookie. Так что это не очень хороший подход.
  2. Через переменные ENV (putenv("PROVARY = ".$_SESSION['lang']);). Но это не работает. Потому что они умирают в конце запроса.
  3. HTTP_SESSION. Я нашел это имя модуля, но не нашел информации о том, как он работает, или даже о том, как его использовать.

Можно ли получить переменные $_SESSION напрямую из .htaccess? Если да, покажите рабочий пример, как это работает.

Не совсем уверен, что вы здесь пытаетесь сделать, но .htaccess - это просто файл. Если вы хотите изменить его на лету, просто откройте его, прочтите, исправьте и перепишите. Не уверен, что это хорошая идея, но ...

RiggsFolly 03.08.2018 15:42

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

Dmytro Huz 03.08.2018 15:46
litespeedtech.com/support/wiki/doku.php/…
Philipp 03.08.2018 15:47

@Philipp спасибо, мужик, это то, что я искал. Любые официальные комментарии от Litespeed. Добавьте свой комментарий как ответ, отмечу

Dmytro Huz 03.08.2018 15:52
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
450
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Никогда не рекомендуется кэшировать страницы, основанные только на переменных сеанса, особенно если содержимое изменяется только в зависимости от языка, хранящегося внутри сеанса. Даже LiteSpeed ​​говорит, что не делай этого

Однако вы можете сохранить язык дополнительно в cookie и варьироваться от значения cookie.

Для дальнейших проектов я бы рекомендовал хранить язык внутри uri (example.com/en/..., example.com/de/...).

Другие вопросы по теме