title: Kubernetes Ingress not redirecting to correct path
body: <p>I have a Django application hosted on Apache inside a Kubernetes cluster running as a deployment. The application is running on port 8080 and app root is <em>&quot;/&quot;</em>. I want my ingress to redirect to my application when someone enters /tascaty but this is not happening when I enter the path as /tascaty in ingress resource. But when I set path as / it works. Below are the details of my APP</p>
  <p>Apache Config File for application:</p>
  <pre class="lang-html prettyprint-override"><code>Listen 8080
  &lt;VirtualHost *:8080&gt;
  
          WSGIDaemonProcess tascaty_dev python-path=/usr/local/lib/python3.8/dist-packages
  
          &lt;Location /&gt;
                  WSGIProcessGroup tascaty_dev
                  WSGIApplicationGroup %{GLOBAL}
          &lt;/Location&gt;
  
          WSGIScriptAlias / /usr/local/lib/python3.8/dist-packages/tascaty_project/wsgi.py
          &lt;Directory /usr/local/lib/python3.8/dist-packages/tascaty_project/&gt;
                  &lt;Files wsgi.py&gt;
                          Require all granted
                  &lt;/Files&gt;
          &lt;/Directory&gt;
  
          Alias /static /usr/local/lib/python3.8/dist-packages/static
          &lt;Directory /usr/local/lib/python3.8/dist-packages/static&gt;
                  Require all granted
          &lt;/Directory&gt;
  &lt;/VirtualHost&gt;
  </code></pre>
  <p>App Deployment :</p>
  <pre class="lang-yaml prettyprint-override"><code>apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: tascatyk8s-deployment
    namespace: tascaty
  spec:
    replicas: 1
    selector:
      matchLabels:
        component: tascatyk8s
    template:
      metadata:
        labels:
          component: tascatyk8s
      spec:
        volumes:
          - name: tascatyk8s-mount
            persistentVolumeClaim:
              claimName: tascatyk8s-pvc
        containers:
          - name: tascatyk8s
            image: abdul8423/tascatyk8s:v3
            ports:
              - containerPort: 8080
            volumeMounts:
              - mountPath: /usr/local/lib/python3.8/dist-packages/users/migrations
                name: tascatyk8s-mount
                subPath: users
              - mountPath: /usr/local/lib/python3.8/dist-packages/tascaty/migrations
                name: tascatyk8s-mount
                subPath: tascaty
              - mountPath: /usr/local/lib/python3.8/dist-packages/leaves/migrations
                name: tascatyk8s-mount
                subPath: leaves
              - mountPath: /usr/local/lib/python3.8/dist-packages/blog/migrations
                name: tascatyk8s-mount
                subPath: blog
            env:
              - name: TASCATY_HOST
                valueFrom:
                  configMapKeyRef:
                    name: tascatyk8s-dep-configmap
                    key: TASCATY_HOST
              - name: TASCATY_PORT
                valueFrom:
                  configMapKeyRef:
                    name: tascatyk8s-dep-configmap
                    key: TASCATY_PORT
              - name: TASCATY_DB
                valueFrom:
                  configMapKeyRef:
                    name: tascatyk8s-dep-configmap
                    key: TASCATY_DB
              - name: TASCATY_USER
                valueFrom:
                  configMapKeyRef:
                    name: tascatyk8s-dep-configmap
                    key: TASCATY_USER
              - name: TASCATY_PASS
                valueFrom: 
                  secretKeyRef:
                    name: tascaty-secret
                    key: MYSQL_PASSWORD
        nodeSelector:
          component: tascaty
  </code></pre>
  <p>App Service</p>
  <pre class="lang-yaml prettyprint-override"><code>apiVersion: v1
  kind: Service
  metadata:
    name: tascatyk8s-cluster-ip-service
    namespace: tascaty
  spec:
    type: ClusterIP
    selector:
      component: tascatyk8s
    ports:
      - port: 8080
        targetPort: 8080
  </code></pre>
  <p>Ingress Controller is installed using</p>
  <pre class="lang-sh prettyprint-override"><code>kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.34.1/deploy/static/provider/baremetal/deploy.yaml
  </code></pre>
  <p>Ingress Resource :</p>
  <pre class="lang-yaml prettyprint-override"><code>apiVersion: networking.k8s.io/v1beta1
  kind: Ingress
  metadata:
    name: tascatyk8s-deployment-ingress
    namespace: tascaty
    annotations:
      kubernetes.io/ingress.class: nginx
      nginx.ingress.kubernetes.io/rewrite-target: /
  spec:
    rules:
    - http:
        paths:
        - path: /tascaty
          backend:
            serviceName: tascatyk8s-cluster-ip-service
            servicePort: 8080
  </code></pre>
  <p>When I try to access <a href="https://192.168.56.2:31150/tascaty" rel="nofollow noreferrer">https://192.168.56.2:31150/tascaty</a> it redirects to <a href="https://192.168.56.2:31150/login/?next=/" rel="nofollow noreferrer">https://192.168.56.2:31150/login/?next=/</a>
  but I get a <em><code>404 Not Found</code></em></p>
  <p><img src="https://i.stack.imgur.com/Xe8cu.png" alt="image1" /></p>
  <p>But when I replace the path inside the ingress resource with / instead of /tascaty it works fine.</p>