### Apache Airflow version

Other Airflow 2 version (please specify below)

### What happened

```
$ curl localhost:8080/airflow/
<!doctype html>
<html lang=en>
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to the target URL: <a href="http://localhost:8080/airflow/">http://localhost:8080/airflow/</a>. If not, click the link.
```

### What you think should happen instead

At least not circular redirect.

### How to reproduce

generate yaml:

```
helm template --name-template=airflow  ~/downloads/airflow > airflow.yaml
```

add base_url in webserver section and remove health and ready check in webserver(to keep pod alive):
```
    [webserver]
    enable_proxy_fix = True
    rbac = True
    base_url = http://my.domain.com/airflow/
```

### Operating System

Ubuntu 22.04.2 LTS

### Versions of Apache Airflow Providers

apache-airflow==2.5.3
apache-airflow-providers-amazon==7.3.0
apache-airflow-providers-celery==3.1.0
apache-airflow-providers-cncf-kubernetes==5.2.2
apache-airflow-providers-common-sql==1.3.4
apache-airflow-providers-docker==3.5.1
apache-airflow-providers-elasticsearch==4.4.0
apache-airflow-providers-ftp==3.3.1
apache-airflow-providers-google==8.11.0
apache-airflow-providers-grpc==3.1.0
apache-airflow-providers-hashicorp==3.3.0
apache-airflow-providers-http==4.2.0
apache-airflow-providers-imap==3.1.1
apache-airflow-providers-microsoft-azure==5.2.1
apache-airflow-providers-mysql==4.0.2
apache-airflow-providers-odbc==3.2.1
apache-airflow-providers-postgres==5.4.0
apache-airflow-providers-redis==3.1.0
apache-airflow-providers-sendgrid==3.1.0
apache-airflow-providers-sftp==4.2.4
apache-airflow-providers-slack==7.2.0
apache-airflow-providers-snowflake==4.0.4
apache-airflow-providers-sqlite==3.3.1
apache-airflow-providers-ssh==3.5.0

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### 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)

with conf_vars({("webserver", "caching_hash_method"): hash_method}):
            if exception:
                with pytest.raises(expected_exception=exception):
                    app = application.cached_app(testing=True)
            else:
                app = application.cached_app(testing=True)
                assert next(iter(app.extensions["cache"])).cache._hash_method == result
class TestFlaskCli:
    @dont_initialize_flask_app_submodules(skip_all_except=["init_appbuilder"])
    def test_flask_cli_should_display_routes(self, capsys):
        with mock.patch.dict("os.environ", FLASK_APP="airflow.www.app:cached_app"), mock.patch.object(
            sys, "argv", ["flask", "routes"]
        ), pytest.raises(SystemExit):
            from flask import __main__
            
            runpy.run_path(__main__.__file__, run_name="main")
        output = capsys.readouterr()
        assert "/login/" in output.out
def test_app_can_json_serialize_k8s_pod():
    
    
    k8s = pytest.importorskip("kubernetes.client.models")
    pod = k8s.V1Pod(spec=k8s.V1PodSpec(containers=[k8s.V1Container(name="base")]))
    app = application.cached_app(testing=True)
    assert app.json.dumps(pod) == '{"spec": {"containers": [{"name": "base"}]}}'