首页 > 解决方案 > 通过 .htaccess / 异常管理位置 / 框架 Laravel 重定向到安全连接

问题描述

我想将 http 重定向到 https,此外我必须删除管理位置,因为它不适用于 https。该站点使用 Laravel 框架。在下面的代码中,我需要添加限制:

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

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?website\.com
RewriteRule ^(.*)$ https://www.website.com/$1 [R,L]

# 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>

标签: laravel.htaccessframeworks

解决方案


这将为您完成:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

如果它是URI ,则第二个RewriteCond会阻止重写发生。/admin/重定向是使用R=301永久重定向完成的,出于测试目的,我建议您将其更改R=302为临时的。

确保在测试之前清除缓存。


推荐阅读