首页 > 解决方案 > 重定向 Nginx 中除少数页面外的所有内容

问题描述

我有一个子域,指向托管在子文件夹中的网站,其中包含:

我希望用户输入http://www.example.com/STRING,他得到了服务,除非在添加(即 ,)http://www.example.com/index.php?code=STRING时这会导致现有页面.phphttp://www.example.com/privacy-policyhttp://www.example.com/imprint

现在,我的 nginx 配置文件给出了这个

    location /subfolder/ {
            try_files $uri $uri/ $uri.php index.php?code=$uri;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            location /subfolder/r/ {
                    try_files $uri $uri/ =404;
            }
    }

r已创建子文件夹,以便 PHP 不会处理静态文件。

这适用于r子文件夹内的静态文件,也适用于imprint.php类型,但不适用于重定向到index.php?code=$uri.

这是为什么?

标签: nginx

解决方案


推荐阅读