У меня есть php/js-программа (Piwik), которая устанавливает cookie для отслеживания посещений сайта.
Наш сайт (т.е. не Piwik) настроен так, что все URL (кроме ресурсов) записываются обратно в /public/index.php.
Таким образом, каждый наш пользователь получает уникальный URL, например,
... и т.д.
Чтобы я мог отслеживать каждый из этих пользовательских URL в Piwik, было предложено, что мне нужно установить путь в cookie таким образом, чтобы Apache сопоставил его с реальным каталогом.
Поскольку у нас нет реальных каталогов для каждого из наших пользователей, мы не можем этого сделать.
Наконец, мы переходим к использованию RewriteBase в .htaccess, чтобы сказать Apache, что мы считаем URL пользователя его собственным каталогом.
Этого недостаточно, однако, поскольку не существует способа использовать RewriteBase без жесткого кодирования 'base'.
Могу ли я сделать что-то подобное в моем .htaccess? Ответ Франсуа Дешена говорит, что я не могу этого сделать.
RewriteCond ^([^/]*)(/.*)?
RewriteBase %1
Какие еще альтернативы у меня есть для обеспечения того, чтобы "путь" cookie был установлен как 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? - К сожалению, в ответе не указано, можно ли использовать текущий путь в качестве базы.