2016-12-22 6 views
0

Я пытаюсь понять какое-то время, почему мои правила перезаписи в файле .htaccess дают мне ошибку. Это происходит только на мобильных устройствах (iOS и Android), прекрасно работает на настольных браузерах. Ошибка слишком много перенаправлений. Я пытаюсь перенаправить HTTP-трафик 301 на https. Вот мой код:.htaccess - Слишком много перенаправлений на мобильных устройствах (iOS, android)

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] 
RewriteCond %{HTTPS} !on$ [OR] 
RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [R=301,L,NE] 

RewriteRule ^(.*/)?\.(git|svn|hg|bzr)+ - [R=404,L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L,QSA] 
RewriteRule ^(.*)$ index.php [NC,L,QSA] 

Любая помощь будет оценена :)

+0

Вы пробовали запустить его с помощью тестера, как это один HTTP: // htaccess.mwl.be/ –

+0

@P. Galbraith тестер, который вы мне прислали, не работал для меня, потому что: Есть еще несколько вещей, которые еще не поддерживаются (например,% {REQUEST_FILENAME}), но мы надеемся добавить их в будущем. –

ответ

0

Попробуйте изменить RewriteCond %{HTTPS} !on$ [OR] к RewriteCond %{HTTPS} off [OR]

+0

Пробовал это, но ничего не изменил :( –

+0

Правила переписывания выглядят отлично. Предполагаю, что у вас есть закрытие ''. Вы уверены, что ваше приложение не делает своего рода переадресацию мобильного телефона на 'http' url? –

+0

Да, закрывающий тег есть. И да, в приложении есть маршрутизатор и, вероятно, он вызывает проблемы. На данный момент я сделал 301-редирект в PHP, который работает нормально, но не решение, которое я предпочитаю в течение долгого времени ... Я постараюсь копаться в этом маршрутизаторе и, надеюсь, исправить это. Thnx за помощью. –

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