In my last project my client aksed me to do clean pagers in his website. However drupal 7 handles pagination using ?page=1 but I need page/1 insted of that. Do someone have experience of creating clean pager links using pager alter and .htaccess. I see lot's of modules but they are not working properly. I tried with clean pagination, smart paging modules but they did not work properly, Then I tried to do it by custom way through htaccess file and altering pager link, but can't get success.

http://someexample.com/hello-node/?page=1 to http://someexample.com/hello-node/page/1

Any help will be appreciated.

3 Answers 3


Hi please check the following link Clean Pagination, Hope this will help you.

Clean Pagination is a very simple module that allows you to enable clean URL pagination for specified pages. The way Drupal typically works, if you had a view with the URL 'my-view', subsequent pages would normally use a query to pass the page number, as in 'my-view?page=2'. When Clean Pagination is being used for a page, it will create a url like 'my-view/2'.

  • I had tried this before, we need manual entry for this, However I need automatic page creation. Commented Aug 18, 2014 at 9:17
  • @BinodLamsal Please include everything you already tried, with explanation why it didn't help, directly into your question. This will save time, both yours and people who answer.
    – Mołot
    Commented Aug 18, 2014 at 9:21
  • check this out Drupal Group Comment for clean pagination url Commented Aug 18, 2014 at 12:42
  • Any documentation anywhere for Clean Pagination module? Commented Mar 19, 2019 at 21:29

I've had similar problems, and found it very frustrating - sometimes it's because you haven't enabled the rewrite module in Apache. Open a terminal window and do sudo a2enmod rewrite.

If that doesn't work, you might need to look at your virtual hosts file, which if you're using an ubuntu server will be in /etc/apache2/sites-available. If there are any lines in the file that read AllowOverride, make sure you set them to "all". Your file should look something like:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerAlias your.url

    DocumentRoot /path/to/files
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    <Directory /path/to/files>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all

Then do service apache2 reload.


For what it's worth, another thing I spotted when I was fighting with the clean URLs was that, depending on how you copy your files, dot files don't always get copied. So on occasion I've been working with a local Drupal site and I've not copied the original .htacess file to my local environment. That'll normally mess up clean URLs for you, no matter your virtual hosts file or anything else.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.