nginx:将 URL 重定向到无扩展名的页面,无法在主页上使用

nginx:将 URL 重定向到无扩展名的页面,无法在主页上使用

我正在尝试将带有 PHP 扩展的页面自动重定向到非扩展页面版本,例如example.com/page.phpexample.com/page我已设法使此功能适用于除我的主页和动态页面之外的所有页面。这些页面都返回404错误页面。

对于主页,如果我尝试访问,example.com我会得到404响应,但如果我访问,example.com/index则主页会加载。

我显然希望主页能够像这样加载example.com,并且动态页面也能够像这样加载example.com/check/something.com

相关代码如下:


server {

   index  index.php index.html index.htm;

   location / {
        try_files  $uri /$uri /index.php?$args;
        sendfile   off;

        # returns a 404 e.g example.com/check/something.com
        rewrite ^/check/(.*)$ /check.php?url=$1&name=&submitBtn=check;
   }

    # If PHP extension then 301 redirect to semantic URL
    location ~ ^(.*)\.php$ {
        return 301  $scheme://$server_name$1$is_args$args;
    }

    location ~ ^/(.*) {
       try_files $uri.php @static; # If static, serve it in @static

       fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

       fastcgi_index index.php;
       fastcgi_param SCRIPT_FILENAME $document_root/$1.php;
       fastcgi_param SCRIPT_NAME $fastcgi_script_name;

       include fastcgi_params;
    } 

    location @static {
        try_files $uri =404;
    }

  }


谢谢 :)

相关内容