2016-03-14 2 views
0

Мы столкнулись с переадресацией на домашней странице Wordpress, и я понятия не имею, откуда она взялась, мы переключили URL-адрес на http://www на https: //.Apache (htaccess) redirect loop http https

Вот файл Htaccess:

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^www\.(.*) 
RewriteRule ^.*$ https://%1/$1 [R=301,L] 

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

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

http://scrybs.com является перенаправлении http://www.scrybs.com и http://www.scrybs.com вызывает цикл перенаправления ...

Я пытался отключить все плагины, удалить файл Htaccess, ни один из тех, работал.

Большое спасибо.

+2

Я считаю, что проблема исходит из первого правила. Измените '^. * $' На '^ (. *) $', Так что '$ 1' действительно что-то содержит. –

+0

@MikeRockett Проблема возникает до вызова htaccess ... – scrybs

ответ

0

Не используйте RewriteRules для перенаправления HTTP-HTTPS. Измените его, чтобы перенаправить виртуальный хост HTTP (порт 80) на виртуальный хост HTTPS (порт 443) и поместить всю вашу конфигурацию в конфигурацию HTTPS (порт 443).

<VirtualHost *:80> 
    ServerName www.example.com 
    Redirect "/" "https://www.example.com/" 
</VirtualHost > 

<VirtualHost *:443> 
    ServerName www.example.com 
    # ... SSL configuration goes here 
</VirtualHost > 

Ref: https://httpd.apache.org/docs/2.4/rewrite/avoid.html

Затем удалите эти строки:

RewriteCond %{HTTP_HOST} ^www\.(.*) 
RewriteRule ^.*$ https://%1/$1 [R=301,L] 

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

Вы можете восстановить конфигурацию WWW, но без обновления HTTPS.

+0

Должен ли я добавлять эти строки в файл .htacess или на сервер? Кажется, что моя проблема появляется перед вызовом файла .htaccess .... – scrybs