Nginx 相当于 apache mod_rewrite 规则

Nginx 相当于 apache mod_rewrite 规则

我的脚本托管在 centos 7 apache 服务器上,使用以下 htaccess:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

现在我们已将脚本迁移到带有 nginx webservice 的 ubuntu 20 服务器。nginx conf 具有以下设置:

rewrite ^/(.*.php)(/)(.*)$ /$1?file=/$3 last;

try_files $uri $uri/ /index.php?$args;
index index.php index.html;

然而这对我的脚本不起作用。

我怎样才能重写 nginx conf 的 htaccess 信息?

任何帮助深表感谢。

相关内容