我正在将 CakePHP 1.x 项目升级到 CakePHP 3.x
1.x 项目的 URL 发布在我们无法更改的地方,例如书籍,因此我需要重写之前的 URL 以匹配 CakePHP 3.x 中的分页 URL
这是 1.x URL 的示例
http://example.org/ledgers/index/1/2
http://example.org/ledgers/index/<page_int>/<tribe_id_int>
这就是 3.x URL 的样子
http://example.org/ledgers/index?page=1&tribe=2
我已经尝试过这个 htaccess 规则集
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
RewriteRule ^ledgers/index/(\d)+/(\d)+$ /ledgers/index?page=$1&tribe=$2 [NC]
</IfModule>
和输出
die(print_r($this->request->getQueryParams(), true));
是
Array()
我在另一个 StackOverflow 帖子中看到尝试使用
https://www.generateit.net/mod-rewrite/index.php
这给了我
RewriteRule ^ledgers/index/([^/]*)/([^/]*)$ /ledgers/index?page=$1&tribe=$2 [L]
但仍然是输出
die(print_r($this->request->getQueryParams(), true));
是
Array()
关于如何让它发挥作用的任何想法?