RewriteRule нарушает работу при переходе с https на http

Я пишу многоRewriteRule в моем.htaccess файл, но проблема возникает при переключении сhttps вhttp страницы; это не соответствует этим правилам

NOTE : все работает нормально на localhost, проблемы на сервере & lt; ----UPDATE

Вот мойВеб-сайт, в настоящее время все ссылки отображаются в соответствии сRewriteRule*

например,about us ссылка на страницу отображается как

http://www.mywebsite.com/about

BUT

если я вlogin page (который включенhttps ) и нажмите наabout us страница затем превращается в ниже.

http://www.mywebsite.com/about?slug=about_us

или если я нажму на любую категорию на левой панели, то это

http://www.mywebsite.com/auction/category/1?cid=1

Note :  даже мышь, зависшая на страницах, отображает ссылку для перезаписи

ниже.htaccess файл с необходимой информацией.

IndexIgnore *

RewriteEngine on
Options +FollowSymLinks 
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^auction/category/([0-9]+)/?$ bids.php?cid=$1 [NC]

RewriteRule ^login/?$ login.php [NC]
RewriteRule ^register/?$ register.php [NC]
RewriteRule ^logout/?$ logout.php [NC]

# static pages
RewriteRule ^about/?$ page.php?slug=about_us [NC]

# Rewrite to https
RewriteCond %{SERVER_PORT} !^443$ [OR]
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /login [OR]
RewriteCond %{REQUEST_URI} /do_login.php     
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L,QSA]

# don't do anything for images/css/js (leave protocol as is)
RewriteRule \.(gif|jpe?g|png|ico|css|js)$ - [NC,L]

# traffic to http:// except some pages
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !(/login|/do_login.php)
RewriteRule ^(.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L,QSA]

Note : Here завершено.htaccess файл

Скажите пожалуйста, где я не прав / отсутствует?

У меня также есть немного больше путаницы

If i change the case of rewrite URL ( Login or lOgin or logiN ) then it gives error? Is it good practice to write [NC,L] with all RewriteRule? Exactly when I should write [QSA] ? UPDATE

После предложений от всех ответов,changing in RewriteRule almost fixed all issue но теперь есть один последний вопрос.

/login URL always changed into /login.php.

ниже мой обновленный.htaccess

IndexIgnore *
Options -MultiViews
Options +FollowSymLinks

#mod_rewrite
RewriteEngine on
RewriteBase /

# Rewrite www to non www
RewriteCond %{HTTP_HOST} ^www.%{HTTP_HOST} [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

# minimize the css on all http:// pages
<IfModule mod_rewrite.c>
    RewriteCond %{HTTPS} off
   RewriteRule ^(.*).css$ /csszip.php?file=$1.css [L]
</IfModule>

#switch over http to https

# Rewrite to https
RewriteCond %{SERVER_PORT} !^443$ [OR]
RewriteCond %{HTTPS} off

RewriteCond %{REQUEST_URI} (/login|/do_login)\.php [NC]
RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# don't do anything for images/css/js (leave protocol as is)
RewriteRule \.(gif|jpe?g|png|ico|css|js)$ - [NC,L]

# traffic to http:// except some pages
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} on

RewriteCond %{REQUEST_URI} !(/login|/do_login)\.php [NC]

RewriteRule ^(.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^login/?$ login.php [NC]
RewriteRule ^register/?$ register.php [NC]
# ...many other rules...with [NC] falg

RewriteRule ^auction/category/([^/.]+)/?$ bids.php?cid=$1 [NC]
RewriteRule ^about/?$ page.php?slug=about_us [NC]
# ...many more rules.... with [NC] flag

Ответы на вопрос(4)

Ваш ответ на вопрос