【问题标题】:Pagination not working for CLinkPager in yii1分页不适用于 yii1 中的 CLinkPager
【发布时间】:2017-01-18 10:13:10
【问题描述】:

我使用了小部件“clinkpager”。 当我点击 2nd,3rd .... 页面时,它会出现在页面上。我不会移动到下一页。甚至 next 和 previous 也不在那里工作。

<?php
$this->widget('CLinkPager', array(
'pages' => $pages, 
'currentPage'=>$pages->getCurrentPage(),
'pageSize'=>$page_size,     
'itemCount'=>$count,        
'header'=>'',
 ));?>

当我点击“下一步”时,浏览器中的 url 发生了变化。 http://localhost/mate/admin/site/pricelisting/89-Malouf-Zoned-Gel-Dough/page/2

但它不会在第二页上移动。

如果我使用下面的网址而不是上面的网址,那么它会移动到页面 http://localhost/mate/admin/site/pricelisting/89-Malouf-Zoned-Gel-Dough?page=2

.htaccss 文件


        RewriteEngine on

        RewriteCond %{HTTP_HOST} ^localhost/mate/admin$ [NC,OR]
        RewriteCond %{HTTP_HOST} ^localhost/mate/admin$

        RewriteCond %{REQUEST_URI} !wordpress/
        RewriteRule (.*) /wordpress/$1 [L]

        Options +FollowSymLinks -MultiViews
        RewriteEngine On

        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule .* index.php/$0 [PT,L]

        RewriteRule details/(.*)/(.*)/ site/details?id=$1&name=$2
        RewriteRule details/(.*)/(.*) site/details?id=$1&name=$2

        RewriteRule pricelisting/(.*)-(.*)/ site/pricelisting?id=$1&name=$2?page=$3 [L,QSA]
        RewriteRule pricelisting/(.*)-(.*) site/pricelisting?id=$1&name=$2?page=$3 [L,QSA]

        #RewriteRule pricelisting/(.*)-(.*)/ site/pricelisting?id=$1&name=$2
        #RewriteRule pricelisting/(.*)-(.*) site/pricelisting?id=$1&name=$2

        #RewriteRule pricelisting/(.*)-(.*)/page(.*)/ site/pricelisting?page=$3 [L,QSA]
        #RewriteRule pricelisting/(.*)-(.*)/page(.*) site/pricelisting?page=$3 [L,QSA]


        RewriteRule ^pricelisting/(.*)-(.*)/page(.*)/ site/pricelisting?id=$1&name=$2&page=$3 [L,QSA]
        RewriteRule ^pricelisting/(.*)-(.*)/page(.*) site/pricelisting?id=$1&name=$2&page=$3 [L,QSA]

我不知道。请建议我那里有什么问题。

【问题讨论】:

    标签: php .htaccess yii


    【解决方案1】:

    我认为这是由于您的重写规则

    RewriteRule ^pricelisting/(.*)-(.*)/page(.*)/ site/pricelisting?id=$1&name=$2&page=$3 [L,QSA]
    RewriteRule ^pricelisting/(.*)-(.*)/page(.*) site/pricelisting?id=$1&name=$2&page=$3 [L,QSA]
    

    他们会将[...]/page2reqrite 到相应的页面,因为在页面和数字占位符之间有一个/missing - 如果我没有完全错的话。将它们更改为

    RewriteRule ^pricelisting/(.*)-(.*)/page/(.*)/ site/pricelisting?id=$1&name=$2&page=$3 [L,QSA]
    RewriteRule ^pricelisting/(.*)-(.*)/page/(.*) site/pricelisting?id=$1&name=$2&page=$3 [L,QSA]
    

    我相信它应该可以工作。

    【讨论】:

    • 真可惜。可以开启Apache重写日志,请看here,然后尝试打开页面。
    • 很高兴我能帮上忙 :)
    猜你喜欢
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多