Фон
У меня есть программное обеспечение php / js ( Piwik ), которое устанавливает cookie для отслеживания посещений сайта.
Наш сайт (т.е. не Piwik) настроен так, что все URL-адреса (кроме ресурсов) записываются обратно в /public/index.php.
Таким образом, каждый из наших пользователей получает уникальный URL, например;
http://www.example.com/user1
http://www.example.com/user2
... и т. Д.
Для отслеживания каждого из этих пользовательских URL-адресов в Piwik было предложено , чтобы мне нужно было указать путь в куки-файле, который Apache отображает в фактическую директорию.
Поскольку у нас нет актуальных каталогов для каждого из наших пользователей, мы не можем этого сделать.
Наконец, мы переходим к использованию RewriteBase в .htaccess, чтобы сообщить Apache, что мы считаем URL-адрес пользователя своим собственным каталогом.
Однако этого не хватает, поскольку, похоже, нет способа использовать RewriteBase без жесткого кодирования «base».
Вопрос
Могу ли я сделать что-то подобное в моем .htaccess? В ответе Франсуа Дешена говорится, что я не могу этого сделать.
RewriteCond ^([^/]*)(/.*)?
RewriteBase %1
Какие еще есть альтернативы для обеспечения того, чтобы «путь» куки-файла был задан как URL пользователя, а не как «/»?
Что у меня сейчас
.htaccess в / содержит;
RewriteRule ^(.*)$ /public/$1 [L]
Тогда .htaccess в / public содержит;
RewriteRule ^index\.php5/(.*)$ - [L]
RewriteRule ^index\.php5?(.*)$ - [L]
RewriteRule ^index\.php5$ - [L]
RewriteRule ^(.*)$ /public/index.php5 [L]
Обратите внимание, что у обоих из них есть другие правила в начале для путей, которые переместились, и т. Д.
Спасибо за любую помощь!
Что я пробовал
Вызов .setCookiePath () для объекта JS Piwik, как предлагается в документации Piwik . Например, для URL http://www.example.com/user1 вызов .setCookiePath ('/ user1') не влияет на путь к файлу cookie.
Добавление косой черты к URL, а затем вызов .setCookiePath (). Например, URL http://www.example.com/user1/ с последующим вызовом .setCookiePath ('/ user1') не устанавливает путь к cookie.
Смежные вопросы
С помощью mod_rewrite я могу указать RewriteBase внутри RewriteCond? - К сожалению, ответ не указывает, могу ли я использовать текущий путь в качестве базы.