Двойной редирект Apache

Мне нужно настроить .htaccess так, чтобы он убирал знак ? в конце url. Но также мне нужно перенаправлять с http на https. В итоге получается такая ситуация, что когда я захожу на url https://mydomain.com/page?, то меня перенаправляет сначала на http://mydomain.com/page, а затем на https://mydomain.com/page. Как мне избежать двойного редиректа?

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

# С www на без www

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

# Без слэша

#RewriteRule ^(.*)/$ /$1 [L,R=301]

# с index.html/php на главную

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/
RewriteRule ^(.*)index\.(php|html|htm)$ https://mydomain.com/$1 [R=301,L]

# Убрать ? после /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?\d*\ HTTP/
RewriteRule ^ https://mydomain.com/? [R=301,L]

RewriteCond %{THE_REQUEST} ^[^\s]+\s+[^?]*?\?
RewriteCond %{QUERY_STRING} ^$
RewriteRule .? %{REQUEST_URI}? [R=301,L]

RewriteCond %{ENV:HTTPS} !on 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


Ответы (0 шт):