### Apache Airflow version

2.2.1

### Operating System

Linux 5.4.149-73.259.amzn2.x86_64

### Versions of Apache Airflow Providers

default for 2.2.1

### Deployment

Other 3rd-party Helm chart

### Deployment details

aws eks using own-developed helm chart

### What happened

When trying to open log from gantt view - receiving an exception
```
  File "/home/airflow/.local/lib/python3.9/site-packages/pendulum/parsing/__init__.py", line 177, in _parse_common
    return date(year, month, day)
ValueError: year 0 is out of range
```

due to incorrect query parameter push: no value for `execution_date` pushed
```
/log?dag_id=report_generator_daily&task_id=check_quints_earnings&execution_date=
```

### What you expected to happen

Logs should be available

### How to reproduce

Open dag's `gantt` chart
click on task ribbon
click on `log`
observe an error

### Anything else

_No response_

### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/www/views.py
DagRun.execution_date == dttm,
                TaskInstance.dag_id == dag_id,
                TaskInstance.task_id == task_id,
            )
            .one_or_none()
        )
        if ti is None:
            ti_attrs: Optional[List[Tuple[str, Any]]] = None
        else:
            ti.refresh_from_task(task)
            all_ti_attrs = ((name, getattr(ti, name)) for name in dir(ti) if not name.startswith("_"))
            ti_attrs = sorted((name, attr) for name, attr in all_ti_attrs if not callable(attr))
        attr_renderers = wwwutils.get_attr_renderer()
        task_attrs = [
            (attr_name, attr)
            for attr_name, attr in (
                (attr_name, getattr(task, attr_name))
                for attr_name in dir(task)
                if not attr_name.startswith("_") and attr_name not in attr_renderers
            )
            if not callable(attr)
        ]
        
        special_attrs_rendered = {
            attr_name: renderer(getattr(task, attr_name))
            for attr_name, renderer in attr_renderers.items()
            if hasattr(task, attr_name)
        }
        no_failed_deps_result = [
            (