Search code examples
.htaccessmod-rewrite

htaccess replace the parameter in the url


I have a URL like this : https://example.com/coins/1&order_by=today and several categories such as:

https://example.com/coins/1&order_by=new
https://example.com/coins/1&order_by=trending

You can also change the page so it will be 2 instead of 1 etc.. like : https://example.com/coins/2&order_by=today

I would like to change these to have https://example.com/today?page=1 etc instead of this above

I have read many responses on this subject and I searched the web, but unfortunately no solution works. I tried this but it does not works:

RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*&)?order_by=new(&.*)?$
RewriteRule ^(.*)$ $1?new/%1/%2 [L]

Solution

  • Try following htaccess Rules, please make sure to place these Rules at top of your htaccess file. Make sure to place your htaccess file inside root folder along with coins folder(not inside coins folder).

    Please make sure to clear your browser cache before testing your URLs.

    RewriteEngine ON
    RewriteBase /
    RewriteCond %{THE_REQUEST} \s/coins/(\d+)&order_by=(\S+)\s [NC]
    RewriteRule ^  /%2?page=%1 [R=301,L]