Yii Пейджинг с красивыми URL - PullRequest
       63

Yii Пейджинг с красивыми URL

0 голосов
/ 04 сентября 2018

Я реализовал красивые URL, которые работают везде, кроме пейджинга. Я искал решения, включая Пейджинг с пользовательскими URL но, похоже, это не работает для меня.

У меня есть это в моем .htaccess

        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php?/$1 [L]

Тогда у меня есть эти правила в моем файле web.php

      ''=>'site/index',
        'site/<title:\w+>'=>'site/index'
        'site/<title:\w+>/<page:\d+>'=>'site/index',
        '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
        '<controller:\w+>/<action:\w+>/<slug:\w+>' =>    
        '<controller>/<action>',
        '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
        'site/find/<slug>' => 'site/find',
        '/<slug>'=>'site/find',
        'defaultRoute'=>'site/index'

Пейджинг должен работать с индексом сайта. Чего мне не хватать?

1 Ответ

0 голосов
/ 04 сентября 2018

Ваши правила в неправильном порядке - вы должны поставить более конкретный (со страницей в шаблоне) перед более общим (без страницы в шаблоне):

'' => 'site/index',
'site/<title:\w+>/<page:\d+>' => 'site/index',
'site/<title:\w+>' => 'site/index',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>/<slug:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'site/find/<slug>' => 'site/find',
'<slug>' => 'site/find',
...