Quella stringa entra in contrasto con il resto, prova questa soluzione dovrebbe andare
codice:
#Errore 404
ErrorDocument 404 http://www.sito.net/login.php
#Possiamo scrivere l'URL anche senza l'esetensione .php
RewriteEngine On
RewriteBase /
RewriteRule /index.php http://www.sito.net/$1 [R=301,L]
RewriteRule ^()$ index.php [NC,L]
Rewritecond %{REQUEST_URI} !(^/?.*\..*$) [NC]
RewriteRule (.*)$ $1.php [NC]
#Tutte le pagine conterranno il www cosi da far funzionare le Sessioni
RewriteCond %{HTTP_HOST} ^sito\.net [NC]
#Togliamo di default e definitivamente la lettura nell'URL della index.php
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{THE_REQUEST} !/system/.index\.php [NC]
RewriteCond $1 !\.(css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
# -----
Options -MultiViews
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule .* - [L]
RewriteCond %{REQUEST_URI} !cartella
RewriteRule ^([^/]*)$ cartella/$1
# -----
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php