将 .htaccess 规则转换为 nginx 格式

将 .htaccess 规则转换为 nginx 格式

我购买了一个现成的 Laravel 脚本,该脚本是为在 Apache 服务器上运行而开发的,但开发人员不支持 Nginx 重写规则。有人能帮帮我吗?当我尝试访问 Nginx 服务器上的系统时,它给出了多个重定向错误。我尝试了几种方法,但都行不通,我甚至使用了在线转换器,但都不起作用。

这是脚本中的原始 .htaccess:

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

    RewriteEngine On
    <IfModule mod_ssl.c>
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>

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

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    RewriteCond %{THE_REQUEST} /index\.php/(.+)\sHTTP [NC]
    RewriteRule ^ /%1 [NE,L,R]
    
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^ index.php [L]
    
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^ index.php [L]
    
</IfModule>

相关内容