Назад | Перейти на главную страницу

Проблема с перенаправлением https .htaccess

В моем htaccess настроена директива для отправки всего трафика, отличного от https, на https

RewriteCond %{SERVER_PORT} ^80$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

# These are used by the Zend Framework...
RewriteCond %{REQUEST_FILENAME} \.(js|css|gif|jpg|png|swf)$ [OR] 
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Теперь мне нужно добавить два исключения, чтобы они не перенаправлялись на https - одно для mydomain.com/register/ и одно для mydomain.com/services/test/

Может ли кто-нибудь мне помочь?

Спасибо.

Хорошо, кто-то помог мне заставить его работать, используя:

 RewriteEngine On

 RewriteCond %{SERVER_PORT} !^443$
 RewriteCond %{THE_REQUEST} !/services/test
 RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

 RewriteCond %{REQUEST_FILENAME} \.(js|css|gif|jpg|png|swf)$ [OR]
 RewriteCond %{REQUEST_FILENAME} -s [OR]
 RewriteCond %{REQUEST_FILENAME} -l [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^.*$ - [NC,L]

 RewriteCond %{THE_REQUEST} /services/test
 RewriteRule ^.*$ index.php [NC,L]

 RewriteRule ^.*$ index.php [NC,L]

Правило перезаписи Zend Framework вызывало проблему, но теперь оно работает нормально.

RewriteCond% {SERVER_PORT} ^ 80 $
RewriteCond% {REQUEST_URI}! ^ Mydomain.com / register / $
RewriteCond% {REQUEST_URI}! ^ Mydomain.com / services / test / $
RewriteRule. * https: //%{SERVER_NAME}% {REQUEST_URI} [R, L]

Вы можете выполнить переписывание только в том случае, если URL-адрес не соответствует вам, два исключения:

RewriteCond %{SERVER_PORT} ^80$
RewriteRule !^http://mydomain.com/(register|services/test).*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]