2015-10-11 3 views
3

Я пытаюсь заставить https и не-www на моем сайте laravel. Вот мой файл .htaccess:Laravel 5.1 Force non-WWW и HTTPS Не работает

RewriteEngine On 

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

#if the request is not secure 
RewriteCond %{HTTPS} off 
#redirect to the secure version 
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L] 

#Redirect to non-WWW 
RewriteCond %{HTTP_HOST} ^www.example.com$ 
RewriteRule ^(.*) https://example.com/$1 [QSA,L,R=301] 

Вот тока перенаправляет

Рабочая перенаправляет

example.com     => https://example.com   (GOOD) 
www.example.com    => https://example.com   (GOOD) 
https://www.example.com  => https://example.com   (GOOD) 

Прямая на правильный URL работает отлично

https://example.com   => https://example.com   (GOOD) 
https://example.com/asdf  => https://example.com/asdf  (GOOD) 

не работает перенаправляет

example.com/asdf    => https://example.com/index.php (BAD) 
www.example.com/asdf   => https://example.com/index.php (BAD) 
https://www.example.com/asdf => https://example.com/index.php (BAD) 

Я не могу понять, почему это перенаправлением в файл index.php, когда я не на главной странице.

ответ

9

После 2 часов поиска решения оказалось чрезвычайно простым.

Все, что я должен был сделать изменения порядка мой файл .htaccess в

RewriteEngine On 

#Redirect to non-WWW 
RewriteCond %{HTTP_HOST} ^www.example.com$ 
RewriteRule ^(.*) https://example.com/$1 [QSA,L,R=301] 

#if the request is not secure 
RewriteCond %{HTTPS} off 
#redirect to the secure version 
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L] 

# 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] 
Смежные вопросы