GET-Parameter in .htaccess wird entfernt
Ich bin nicht in der Lage, einen GET-Parameter zu entfernen, der von einem 404 SEF-Modul fälschlicherweise hinzugefügt wurde.
Ich möchte "task = view" nur entfernen, wenn es alleine und nicht mit einem anderen Parameter angezeigt wird.
Damit
www.meinewebsite.com/1.html?task=view sollte umgeleitet werdenwww.meinewebsite.com/1.html.
Währendwww.mysite.com?task=view&view=article sollte unverändert bleiben.
Egal welche RewriteRule ich benutze, dieser Parameter geht nicht. Sieht so aus, als würde es aus jeder Umgebungsvariablen generiert, wenn index.php ausgeführt wird.
Zum Beispiel funktioniert das nicht:
RewriteCond %{QUERY_STRING} ^task=view$ [NC]
RewriteRule (.*)task=view.* $1 [R=301,L]
Hier ist meine .htaccess-Datei:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Options -Indexes
Wie geht man damit um?