之前用Apache的时候,只需要设置

ErrorDocument 404 /404.php

就可以在 404.php 中根据不同的 REQUEST_URI 跳转到不同的页面去,让从搜索引擎过来的失效URL可以跳转到新的地址去

升级到 nginx 后的设置

error_page 404 /404.php;

结果发现确实执行了 404.php ,但自己设置的HTTP header无效,无论header怎么设置,永远是返回 404 Not Found.

临时解决方案:

在 rewrite rule 的最后增加

if (!-e $request_filename) {
      rewrite ^(.*)$ /404.php last;
}

忽略 error_page 404

 

# 2009-07-09 update ---------------------------- 

nginx 没有问题,是我自己的问题 

 把 error_page 404 /404.php; 改成 error_page 404 = /404.php; 就好了

=。= 

 

相关文章:

  • 2022-12-23
  • 2022-02-04
  • 2022-12-23
  • 2021-05-09
  • 2022-12-23
  • 2021-07-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-29
  • 2021-10-30
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案