Laravel SSL .htaccess重定向到index.php

时间:2017-12-13 09:13:17

标签: apache laravel .htaccess ssl mod-rewrite

我的laravel 5应用程序中的重定向问题。我将.htaccess配置为使用SSL - 它运行良好。问题是当我输入:

example.com/page - 应显示page路由,但浏览器重定向到https://example.com/index.php

当我在浏览器中键入完整地址时https://example.com/page路由工作正常,例如。在浏览器中,我看到了page路由(blade,itp)。 问题是什么?

我的.htaacess文件

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

    RewriteEngine On
    order deny,allow
    deny from all

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

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

    # Handle Authorization Header
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

</IfModule>

2 个答案:

答案 0 :(得分:2)

只需编写&#34;处理授权标题&#34; 之前&#34;处理前端控制器&#34;

# Handle Authorization Header
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

否则,如果有http到https重定向,则不会达到主前端控制器转换。

答案 1 :(得分:0)

就像@Amarnasan提到的那样,但是如果仍然不起作用,请删除浏览器的缓存,然后再恢复正常。