Проблем состоит в следующем. Есть интернет магазин под управлением cms Joomla 1.5.13 c VirtueMart 1.1.3 а так же включенном Jre Cache 3.2. На главной странице присутствуют категории при наведении мышки на которые отображается ссылка вида http://www.domainname/index.php?page=shop.browse&category_id=102&option=com_virtuemart&Itemid=143 При переходе же по ссылке мы оказываемся на странице http://domainname/index.php?page=shop.browse&category_id=102&option=com_virtuemart&Itemid=143&vmcchk=1&Itemid=143 Откуда появляется &vmcchk=1&Itemid=143 не понятно. Причем это редирект то появляется, то пропадает.. после первого перехода по ссылке все работает отлично...через какое то время опять все сначала. Как исправить это досадное недоразумение????
Отличный форум! Отличная техподдержка! Всем спасибо! Стока советов, что прям не знаю кого и благодарить.... А на самом деле собака была зарыта в ps_session.php * Checks if the user-agent accepts cookies * @since VirtueMart 1.0.7 * @author soeren */ function doCookieCheck() { global $mm_action_url, $VM_LANG; $doCheck = vmGet( $_REQUEST, 'vmcchk', 0 ); $isOK = vmGet( $_SESSION, 'VMCHECK' ); if( $doCheck && $isOK != 'OK' ) { $GLOBALS['vmLogger']->info( $VM_LANG->_('VM_SESSION_COOKIES_NOT_ACCEPTED_TIP',false) ); } elseif( empty( $isOK )) { $query_string = vmGet($_SERVER,'QUERY_STRING'); if( !empty($query_string) && empty( $_POST )) { vmRedirect( $this->url( $mm_action_url . 'index.php?' .$query_string .'&vmcchk=1', true, false )); } } } Вот эта срань все и портила....
конечно ничего не поменялось))) Я просто привел фрагмент кода где подставляется этот редирект...а вот метод исправления не указывал, оставив это на ваше усмотрение. Если интересует простейший способ, то достаточно сделать следующее.... то что выделено синим комментим, то что выделено красным - добавляем)) /** * Checks if the user-agent accepts cookies * @since VirtueMart 1.0.7 * @author soeren */ function doCookieCheck() { global $mm_action_url, $VM_LANG; $doCheck = vmGet( $_REQUEST, 'vmcchk', 0 ); $isOK = vmGet( $_SESSION, 'VMCHECK' ); if( $doCheck && $isOK != 'OK' ) { $GLOBALS['vmLogger']->info( $VM_LANG->_('VM_SESSION_COOKIES_NOT_ACCEPTED_TIP',false) ); } elseif( empty( $isOK )) { $_SESSION['VMCHECK'] = 'OK'; setcookie('vmcchk','1',0,'/'); /* $query_string = vmGet($_SERVER,'QUERY_STRING'); if( !empty($query_string) && empty( $_POST )) { vmRedirect( $this->url( $mm_action_url . 'index.php?' .$query_string .'&vmcchk=1', true, false )); } */ } }
lubluleto, Хотя это не есть самый лучший способ....пока руки просто не доходили переделать...как сделаю нормальную проверку куки, напишу Вам.