In the previous post, I post a guide on how to create SEO friendly URL in CakePHP pagination.
However, if you already use default CakePHP pagination prior to that, you want to redirect the old pagination URL to the new SEO friendly URL.
I’m using .htaccess file to accomplish this.
Let’s take an example, by default we will have pagination URL like this
http://www.website.com/post http://www.website.com/post/page:2 http://www.website.com/post/page:3 ...
we would like to redirect to
http://www.website.com/post http://www.website.com/post/page/2 http://www.website.com/post/page/3 ...
To redirect, we have to edit .htaccess file located at /app/webroot/.htaccess. Next, add the following code.
RewriteEngine On RewriteBase / RewriteRule ^(.+)/page:([0-9]+)/$ /$1/page/$2/ [R=301,L]
with cakephp 2.7.5 the redirect does not work
RewriteRule ^(.+)/page:([0-9]+)/$ /$1/page/$2/ [R=301,L]
I just update my CakePHP installation to version 2.7.6 & the code above still works. The code that you mention is in .htaccess file. Make sure you edit the right .htaccess file which is located in /app/webroot/ directory.