Redirect NGINX处理非php web应用程序中的所有php请求

Redirect NGINX处理非php web应用程序中的所有php请求,redirect,nginx,Redirect,Nginx,我们公司的网站过去是在PHP上运行的,但现在已经转移到RubyonRails上,url中不再包含任何.PHP文件扩展名。我们不想尝试处理所有仍然包含.php扩展名的遗留url请求,而只是将它们重定向到请求的页面,而不使用扩展名。这在NGINX中可能吗 之前我做了一些事情,大意是: location /somesubdirectory/somepage.php { return 301 http://example.com/somesubdirectory/somepage; } 然而,出于

我们公司的网站过去是在PHP上运行的,但现在已经转移到RubyonRails上,url中不再包含任何.PHP文件扩展名。我们不想尝试处理所有仍然包含.php扩展名的遗留url请求,而只是将它们重定向到请求的页面,而不使用扩展名。这在NGINX中可能吗

之前我做了一些事情,大意是:

location /somesubdirectory/somepage.php {
  return 301 http://example.com/somesubdirectory/somepage;
}

然而,出于我无法理解的原因,上面的代码似乎只是偶尔处理重定向。在一段未知的时间后,它只是启动和中断,然后又像魔术一样随机工作-可能是我这边的一个单独的配置问题。此外,即使上面的工作如预期的那样,为我的网站上的50多个页面定义其中一个也会很快变得很麻烦,所以我真的在寻找一个比这个更优雅的解决方案

位置
块应重定向所有php请求

location ~ \.php$ {
    rewrite ^(.*)\.php$ http://example.com$1 permanent;
}