
**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
```

tests/www/test_utils.py
extra_links = 4  
        search = "'>\"/><img src=x onerror=alert(1)>"
        html_str = utils.generate_pages(current_page, total_pages, search=search)
        assert search not in html_str, "The raw search string shouldn't appear in the output"
        assert 'search=%27%3E%22%2F%3E%3Cimg+src%3Dx+onerror%3Dalert%281%29%3E' in html_str
        assert callable(html_str.__html__), "Should return something that is HTML-escaping aware"
        dom = BeautifulSoup(html_str, 'html.parser')
        assert dom is not None
        ulist = dom.ul
        ulist_items = ulist.find_all('li')
        assert min(window, total_pages) + extra_links == len(ulist_items)
        page_items = ulist_items[2:-2]
        mid = int(len(page_items) / 2)
        for i, item in enumerate(page_items):
            a_node = item.a
            href_link = a_node['href']
            node_text = a_node.string
            if node_text == str(current_page + 1):
                if check_middle:
                    assert mid == i
                assert 'javascript:void(0)' == href_link
                assert 'active' in item['class']
            else:
                assert re.search(r'^\?', href_link), 'Link is page-relative'
                query = parse_qs(href_link[1:])
                assert query['page'] == [str(int(node_text) - 1)]
                assert query['search'] == [search]
    def test_generate_pager_current_start(self):