ЧПУ

GatuZa

Новичок
есть массив с роутами
PHP:
return array(
    'routes' => array(
        'product' => array(
            'pattern' => '/^product\/([0-9]{1,10})\/([a-z-]{2,40})$/i', 
            'alias' => array('id_product', 'url')),
        'category' => array(
            'pattern' => '/^category\/([0-9]{1,10})\/([a-z-]{2,40})$/i', 
            'alias' => array('id_category', 'url')),
    )
);
есть обработчик
PHP:
            foreach ($this->conf['routes'] as $class => $v) {
                if (preg_match($v['pattern'],$_GET['route'],$matches)) {
                    array_shift($matches);
                    $this->view = self::VIEWS.$class.'.php';
                    $this->controller = self::CONTROLLERS.$class.'.php';
                    if (count($v['alias'] > 1)) {
                        for ($i = 0; $i < count($v['alias']); $i++) {
                            $params[$v['alias'][$i]] = $matches[$i];
                            $this->params = $params;
                        }
                    }
                    break;
                } 
                else {
                    // 404 error
                    die('Page with this url ("http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'") is not exist!');
                }
не могу понять почему регулярка не ловит роут "category", закоментировал роут 'product' и категория нормально работает, тоесть не хочет юежать по циклу. Помогите найти ошибку.
 

GatuZa

Новичок
PHP:
http://domain/category/34/dsfsdf
не хочет ловить, а вот
PHP:
http://domain/product/34/dsfsdf
работает нормально
 

Василий М.

Новичок
http://phpfaq.ru/debug - тут кроме этого нельзя что-то иное посоветовать
никогда не понимал программистов, которые не могут банальный print_r сделать и отследить ситуацию..
 

GatuZa

Новичок
http://phpfaq.ru/debug - тут кроме этого нельзя что-то иное посоветовать
никогда не понимал программистов, которые не могут банальный print_r сделать и отследить ситуацию..
хм...это все я знаю и использую, но бывает не видишь мелочи перед глазами, в моем случае это был оператор continue
PHP:
                else {
                    continue;
                    // 404 error
                    die('Page with this url ("http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'") is not exist!');
                }
 
Сверху