【问题标题】:htaccess for nth level category subcategory paginationhtaccess 用于第 n 级类别子类别分页
【发布时间】:2016-02-01 16:15:56
【问题描述】:

对于我的自定义 php/mysql 博客项目,我正在尝试为带有分页的第 n 级类别/子类别编写 htaccess 规则,以显示特定类别下的帖子。这是我到目前为止所做的:

对于像“http://my-blog.com/category/nature”这样的 URL,它在一个页面上显示属于“自然”类别的前 5 个最近帖子,我使用以下 htaccess 规则:

RewriteRule ^category/(.*)$ category.php?url=$1 [QSA,L]

要显示下 5 个帖子,我的 URL 变为“http://my-blog.com/category/nature/page/2”,但在这里我被卡住了,不知道正确的规则是什么。我尝试了以下但还没有工作:

RewriteRule ^category/page/([0-9]+)/?$ category.php?page=$1 [QSA,L]

另外,因为我的类别和子类别是第 n 级。那么我应该在 htaccess 中需要什么才能使我能够使用诸如

之类的 URL

http://my-blog.com/category/nature/mountains/snow

http://my-blog.com/category/nature/mountains/snow/page/2

【问题讨论】:

    标签: php .htaccess mod-rewrite


    【解决方案1】:

    你可以试试这个文件:

    RewriteBase /
    RewriteRule ^category/(.*)/page/([0-9]+)$ category.php?url=$1&page=$2 [QSA,L]
    RewriteRule ^category/(.*)$ category.php?url=$1 [QSA,L]
    

    首先我们将类别与分页匹配。如果没有分页,我们匹配第二条规则。

    【讨论】:

    • 哇!效果很好。朋友,谢谢。给你满分。你节省了我恶化的时间。现在我明白了,htaccess 规则的顺序也很重要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多