.htaccess 在Laravel 5项目上应用SSL后,所有路由上的404

.htaccess 在Laravel 5项目上应用SSL后,所有路由上的404,.htaccess,mod-rewrite,ssl,laravel-5,laravel-routing,.htaccess,Mod Rewrite,Ssl,Laravel 5,Laravel Routing,我已经在服务器上部署了我的项目。它在http上运行良好,但当我应用SSL证书并尝试使用https访问URL时,会显示404错误 几个小时以来我一直试图找到解决办法,但没有成功。这是我的.htaccess文件 .htaccess <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngi

我已经在服务器上部署了我的项目。它在
http
上运行良好,但当我应用SSL证书并尝试使用
https
访问URL时,会显示
404
错误

几个小时以来我一直试图找到解决办法,但没有成功。这是我的.htaccess文件

.htaccess

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

    RewriteEngine On
    RewriteBase /

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

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

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://serveravatar.com/%$1 [R,L]

</IfModule>

选项-多视图
重新启动发动机
重写基/
#重定向尾部斜杠。。。
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
重新启动发动机
重写条件%{HTTPS}关闭
重写规则(.*)https://serveravatar.com/%$1[R,L]

我找不到错误。我也尝试过编辑AppServiceProvider,但没有成功

@SArnab所说的是正确的,把它移到你的标准规则之前。此外,编写规则的更好方法是:

RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

HTTPS条件不应该先于Laravel规则吗?此外,您不需要两次声明RewriteEngine开启。在HTTPS重定向中,在$1之前不需要该百分比。