我正在重建一个旧网站,所有页面都以 .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 如果找不到相应的文件则向该脚本发送请求。