2013-11-07 3 views
4

У меня есть установка на Laravel 4, и я использовал HTAccess в шаблонный, чтобы перенаправить мой сайт из:Htaccess перенаправить Laravel 4

site.com.br к www.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> 

ответ

5

Изменения порядка следования правил:

<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 правил перед вашим внутренним переписыванием правила.

+0

Прекрасно работает – Neto

+1

Добро пожаловать, рад, что это сработало для вас. – anubhava

Смежные вопросы