Quantcast
Channel: Nginx Forum - Nginx Mailing List - English
Viewing all articles
Browse latest Browse all 7229

Return proper status codes (404, 302) from client-side Single Page Application (7 replies)

$
0
0
Hello,

I have the following scenario:

- Client: AngularJS-based SPA running on www.example.com
- Backend: API running on api.example.com

Both live in one nginx instance in two separate "server" environments.

- Browsing to www.example.com/items/1 launches the Angular app
- App sends request to api.example.com/items/1
- If item 1 does not exist, API returns 404 status code
- Client app can now show soft 404 error page, all fine
- But for crawlers/search engines, I want to return a proper HTTP status code. Same goes for redirect to item’s canonical URL if that is necessary.

So my idea was to do sth like this:

- If request URL matches www.example.com/items/<id>, check existence of item by sending a HEAD request to api.example.com/items/<id>
- If request returns 404, return proper status code and error page
- If request returns 200, do nothing and just serve the Angular app

Is there any way to do this with (plain) nginx and if so–how could it be done specifically?

Thanks for any hints :)

Viewing all articles
Browse latest Browse all 7229

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>