Хочу сделать партнёрскую программу.

Хочу сделать партнёрскую программу. Для этого надо передавать номер партнёра в урле. Проблема в AddEventPreg. Никак не могу её заставить работать. В файле classes\actions\ActionBlog.class.php добавлял различные варианты в RegisterEvent:
$this->AddEventPreg('/^[\w\-\_]+$/i','/^(aff([1-9]\d{0,5}))?\.html$/i',array('EventShowTopic','topic'));
//Обращаюсь к странице по адресу - http://mylivestreet.ru/blog/fisics/aff1.html

$this->AddEventPreg('/^(\d+)-(\d+)\.html$/i','/^$/i',array('EventShowTopic','topic'));
//Обращаюсь к странице по адресу - http://mylivestreet.ru/1-2.html

$this->AddEventPreg('/^aff$/i','/^\d+$/i','/^(aff([1-9]\d{0,5}))?$/i',array('EventShowTopic','topic'));
//Обращаюсь к странице по адресу - http://mylivestreet.ru/aff/1/aff1.html

$this->AddEventPreg('/^aff$/i','/^\d+$/i','/^(\d+)\.html$/i',array('EventShowTopic','topic'));
//Обращаюсь к странице по адресу - http://mylivestreet.ru/aff/1/1.html

$this->AddEventPreg('/^aff$/i','/^(\d+)\.html$/i',array('EventShowTopic','topic'));
//Обращаюсь к странице по адресу - http://mylivestreet.ru/aff/1.html

На все варианты ответ один — 404 и управление в EventShowTopic не передаётся.
Подскажите, в чём заковыка.

3 комментария

avatar
оформите код, чтобы его читать можно было удобно
avatar
Может проще парсить $_SERVER['REQUEST_URI']?
  • ff00
  • 0
avatar
Вот так получилось:
$this->AddEventPreg('/^aff$/i','/^\d+$/i','/^(\d+)\.html$/i',array('EventShowTopic','topic'));
//http://mylivestreet.ru/blog/aff/1/1.html 

Надо было писать /blog/ в адресе
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.