Nginx 自定义 404.php 以请求的 URL 作为参数(PHP 应该处理 301 重定向)

Nginx 自定义 404.php 以请求的 URL 作为参数(PHP 应该处理 301 重定向)

我正在重建一个旧网站,所有页面都以 .php 扩展名结尾。

Eg: example.com/contactUS.php
    example.com/static-article.php

我需要将其更改为

 Eg: example.com/contact-us
     example.com/article

我不只是删除 .php,还将完整的 URL 更改为更相关的 URL。因此必须使用 301 重定向旧 URL。

所以我们的 404.php 应该接收所有详细信息,包括所有请求标头、Referer 等。

然后 404.php 将从已删除页面的数组中检查 URL 是否确实存在。如果请求的 URL 存在于数组中,404.php 将把请求传递到具有 301 状态的新页面。如果请求的 URL 不存在于我的数组中,它将返回自定义 404 错误。

如何使用 Nginx 来实现这一点?

答案1

error_page 404.php告诉 nginx 如果找不到相应的文件则向该脚本发送请求。

相关内容