在AngularJS单页应用中正确的HTTP响应代码


Correct HTTP response codes in AngularJS Single Page App

我有一个单页应用程序,由AngularJS 1.5编写。我需要SEO优化这个网站。首先,我想通过服务器端做出正确的http响应。例如,https://www.mos.ru/news/item/999999999999是不存在的文章的地址,页面必须由服务器端抛出404错误。我如何配置nginx服务器,在php脚本预处理所有请求?可能存在真正的秘方吗?

使用error_page指令,这样当404错误发生时(当没有找到请求的文件时),将提供您创建的自定义页面。我们将为文件创建一个位置块,在那里我们能够确保根与我们的文件系统位置匹配,并且文件只能通过内部Nginx重定向访问(不能由客户端直接请求):

/etc/nginx/sites-enabled/违约

         server {
            listen 80 default_server;
            listen [::]:80 default_server ipv6only=on;
            . . .
            error_page 404 /custom_404.html;
            location = /custom_404.html {
                    root /usr/share/nginx/html;
                    internal;
            }
         }

通常,我们不需要在新的位置块中设置根,因为它与服务器块中的根匹配。然而,我们在这里是明确的,以便我们的错误页面,即使我们移动我们的常规网页内容和相关的文档根到不同的位置。