簡體   English   中英

帶有漂亮URL的Yii分頁

[英]Yii Paging with Pretty URLs

我已經實現了漂亮的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'

分頁應該在站點索引上起作用。 我可能會缺少什么?

您的規則順序不正確-您必須在更通用的規則(模式中沒有頁面)之前放置更具體的規則(模式中帶有頁面):

'' => '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',

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM