
**Apache Airflow version**:
2.0.1

**Environment**:

- **OS**: Linux Mint 19.2 
- **Kernel**: 5.5.0-050500-generic #202001262030 SMP Mon Jan 27 01:33:36 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

**What happened**:

Seems that pagination doesn't work. I filter DAGs by tags and get too many results to get them at one page. When I click second page I'm redirected to the first one (actually, it doesn't matter if I click second, last or any other - I'm always getting redirected to the first one).

**What you expected to happen**:

I expect to be redirected to the correct page when I click number on the bottom of the page.

**How to reproduce it**:
1. Create a lot of DAGs with the same tag
2. Filter by tag
3. Go to the next page in the pagination bar

**Implementation example**:



```
from airflow import DAG
from airflow.utils.dates import days_ago
for i in range(200):
    name = 'test_dag_' + str(i)
    dag = DAG(
        dag_id=name,
        schedule_interval=None,
        start_date=days_ago(2),
        tags=['example1'],
    )
    globals()[name] = dag
```

airflow/www/views.py
from airflow.utils import json as utils_json, timezone
from airflow.utils.dates import infer_time_unit, scale_time_units
from airflow.utils.docs import get_docs_url
from airflow.utils.helpers import alchemy_to_dict
from airflow.utils.log.log_reader import TaskLogReader
from airflow.utils.session import create_session, provide_session
from airflow.utils.state import State
from airflow.version import version
from airflow.www import auth, utils as wwwutils
from airflow.www.decorators import action_logging, gzipped
from airflow.www.forms import (
    ConnectionForm,
    DagRunEditForm,
    DagRunForm,
    DateTimeForm,
    DateTimeWithNumRunsForm,
    DateTimeWithNumRunsWithDagRunsForm,
    TaskInstanceEditForm,
)
from airflow.www.widgets import AirflowModelListWidget
PAGE_SIZE = conf.getint('webserver', 'page_size')
FILTER_TAGS_COOKIE = 'tags_filter'
FILTER_STATUS_COOKIE = 'dag_status_filter'
def truncate_task_duration(task_duration):
    """
    Cast the task_duration to an int was for optimization for large/huge dags if task_duration > 10s
    otherwise we keep it as a float with 3dp
    """
    return int(task_duration) if task_duration > 10.0 else round(task_duration, 3)
def get_safe_url(url):