'nginx: show custom 404 page based on location

here is my location block

  location / {
             auth_basic "Restricted Content";
             auth_basic_user_file /etc/nginx/.htpasswd;
             try_files $uri $uri/ /index.php;

         }

I have set of routes. for example, /blog, /contact. basically there is only one index.php page. there is no blog or contact page.

when user hits url/blog I am loading the index.php file and on javascript I am showing/hiding the content based on the url parameter.

when no predefined route matched for exmaple url/rgdf I am showing a 404 div to browser.

but now the problem is response header is 200 on 404 page. I want to set the response header to 404

how can I achieve that?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source