Заден план
Имам софтуер php/js (Piwik), който задава бисквитка за проследяване на посещенията на сайта.
Нашият сайт (т.е. не Piwik) е настроен така, че всички URL адреси (с изключение на ресурси) да се записват обратно в /public/index.php.
По този начин всеки от нашите потребители получава уникален URL адрес, като например;
... и т.н
За мен е предложено че трябва да задам пътя в бисквитката на такъв, който Apache картографира към действителна директория.
Тъй като нямаме действителни директории за всеки от нашите потребители, не можем да направим това.
Накрая преминаваме към използване на RewriteBase в рамките на .htaccess за да кажем на Apache, че считаме URL адреса на потребителя за негова собствена директория.
Това обаче не е достатъчно, тъй като изглежда няма начин да се използва RewriteBase без твърдо кодиране на „базата“.
Въпроса
Мога ли да направя нещо подобно в моя .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') всъщност не задава пътя на бисквитката.
Добавяне на наклонена черта в края към URL адреса, след което извикване на .setCookiePath(). Например URL адресът http://www.example.com/user1/ след това извикване на .setCookiePath ('/user1') не задава пътя на бисквитката.
Свързани въпроси
С mod_rewrite мога ли да посоча RewriteBase в рамките на RewriteCond ? - За съжаление отговорът не показва дали мога да използвам текущия път като основа.
.setCookieDomani()
не променя нищо. - person Jess Telford   schedule 01.07.2011