В моем 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]