Htaccess 重定向 Laravel 4

Posted

技术标签:

【中文标题】Htaccess 重定向 Laravel 4【英文标题】:Htaccess redirect Laravel 4 【发布时间】:2013-11-19 04:13:39 【问题描述】:

我安装了 Laravel 4,并使用样板文件的 htaccess 重定向我的网站:

site.com.brwww.site.com.br(注意 www)。

但是当我使用 site.com.br/TITLE-OF-MY-POST 这样的路由时,我被重定向到:

www.site.com.br/index.php 而不是www.site.com.br/TITLE-OF-MY-POST"

有人知道为什么吗?这是我的 htaccess 规则:

Laravel 的规则

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On

RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
</IfModule>

样板规则

<IfModule mod_rewrite.c>
RewriteCond %HTTPS !=on
RewriteCond %HTTP_HOST !^www\..+$ [NC]
RewriteRule ^ http://www.%HTTP_HOST%REQUEST_URI [R=301,L]
</IfModule>

【问题讨论】:

【参考方案1】:

更改规则的顺序:

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On

RewriteCond %HTTPS off
RewriteCond %HTTP_HOST !^www\. [NC]
RewriteRule ^ http://www.%HTTP_HOST%REQUEST_URI [R=301,L,NE]

RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]

</IfModule>

一般来说,将 301 规则放在内部重写规则之前。

【讨论】:

以上是关于Htaccess 重定向 Laravel 4的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 5.8 中的 htaccess 中重定向 [重复]

Laravel SSL .htaccess 重定向到 index.php

Laravel 5 - 发布路由上的 htaccess HTTPS 重定向不起作用。

访问 url.com/public 时 Laravel .htaccess 重定向到主页

Laravel 4 主页重定向到 www.ipaddress 并失败

Laravel 5 - 重定向到 HTTPS