/ / Entferne nachstehende Schrägstriche aus dem Query-String Apache - Apache, .htaccess, mod-rewrite

Entfernen Sie nachfolgende Schrägstriche aus Query String Apache - Apache, .htaccess, mod-rewrite

Ich habe ein Problem mit dem Versuch, nachstehende Schrägstriche vom Ende einer Abfragezeichenfolge in Apache zu entfernen.

Ich habe jetzt die folgenden Regeln zum Umschreiben, um die URL und den Abfrage-String in Kleinbuchstaben zu machen:

   RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} ^[^A-Z]*[A-Z].* [OR]
RewriteCond %{QUERY_STRING} ^[^A-Z]*[A-Z].*
RewriteRule ^ ${lc:%{REQUEST_URI}}?${lc:%{QUERY_STRING}} [L,R=301]

Ich habe versucht hinzuzufügen:

RewriteCond %{QUERY_STRING} (.+)/$
RewriteRule ^ %1 [R=301,L]

Aber es bricht die Website. Ich habe nach einem Weg gesucht, aber ich habe noch keine Lösungen gefunden. Ich habe die Antworten ausprobiert dieser Beitrag aber sie haben nicht funktioniert.

Der Grund, warum ich das tun muss, ist weil unserDie Anwendungsfirewall sucht in der URL nach "ID". Wenn danach ein nicht alphanumerisches Zeichen erscheint, wird die Anforderung blockiert. Die Firewall wird implementiert, nachdem die Apache-Anfrage den Server erreicht hat.

Ich hoffe, dass jemand mit mehr Erfahrung mit Apache Rewrite-Regeln helfen kann. Danke im Voraus.

Antworten:

4 für die Antwort № 1

Um den nachstehenden Schrägstrich aus der Abfragezeichenfolge zu entfernen, können Sie diese Regel verwenden:

RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^ %{REQUEST_URI}?%1 [R=301,L,NE]

Stellen Sie sicher, dass dies die erste Regel in Ihrem .htaccess ist RewriteEngine On Linie.