3

我有像 Ucp.php Somesite.php 这样的文件,我想为 nginx 创建一个重写规则。这没有问题。

但我也想阻止直接访问那些 php 文件,以便 enetring http://mysite.com/Ucp.php将返回 404 Not Found。

有一个针对 apache 的解决方案(使用 THE_REQUEST),但是如何在 nginx 上做到这一点?

server
{
        listen 80;
        server_name site.com;
        root /home/site/public_html;

        index Main.php;
        rewrite ^/SomeAddr/$ /SomeAddr.php last;
        rewrite ^/SomeOtherAddr/$ /SomeOtherAddr.php last;


        location ~ \.php$
        {
                fastcgi_pass unix:/var/run/php-fpm/site_com.sock;
                include fastcgi.conf;
        }
        include security.conf;
}
4

2 回答 2

1

您可以为此目的使用internal指令。

location ~ \.php$
{
        internal;
        fastcgi_pass unix:/var/run/php-fpm/site_com.sock;
        include fastcgi.conf;
}
于 2020-09-28T21:37:53.290 回答
-2
location ~ \.php$ {
  return 404;
}
于 2013-05-14T12:21:06.017 回答