Ja. Da hab ich Unsinn geschrieben.
bearbeitet von ursus contionabundoAlso, ich habe [nachgelesen](https://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa)
> When the replacement URI contains a query string, the default behavior of RewriteRule is to discard the existing query string, and replace it with the newly generated one. Using the [QSA] flag causes the query strings to be combined.
Übersetzt:
> Das voreingestellte Verhalten ist, dass der **existierende Query-String vergessen** und **durch den neu generierten Query-String ersetzt wird**.
[**Mein Zeug mit POST und Files war also Unsinn!**](https://forum.selfhtml.org/self/2019/jan/7/301-weiterleitung-per-htaccess/1740156#m1740156)
Das Erzeugen eines neuen Query-Strings geschieht, wenn man folgendes tut:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2
~~~
Aber auch schon bei:
~~~apache
RewriteRule ^(.*)$ htts://www.example.com/$1 [END,,R=permanent]
~~~
**Beispiel:**
~~~
http://example.com/orte/berlin/lichtenberg
~~~
würde zu:
~~~
http://example.com/orte.php?ort=berlin&ot=lichtenberg
~~~
Bis hierher wäre alles gut. Will man hier aber tatsächlich:
~~~
http://example.com/orte/berlin/lichtenberg?foo=bar
~~~
zu
~~~
/orte.php?ort=berlin&ot=lichtenberg&foo=bar
~~~
verwandeln lassen, dann ist das QSA notwendig:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2 [QSA]
~~~
**POST, COOKIES (+SESSION), FILES**
Diese Daten (Für die SESSION: Nur das Cookie!) bleiben unverändert bzw. werden beim angeforderten Redirect stets neu gesendet. **(Ausnahmen können bestehen wenn beim Redirect ein Downgrade von HTTPS zu HTTP erfolgt!)**
Ja. Da hab ich Unsinn geschrieben.
bearbeitet von ursus contionabundoAlso, ich habe [nachgelesen](https://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa)
> When the replacement URI contains a query string, the default behavior of RewriteRule is to discard the existing query string, and replace it with the newly generated one. Using the [QSA] flag causes the query strings to be combined.
Übersetzt:
> Das voreingestellte Verhalten ist, dass der **existierende Query-String vergessen** und **durch den neu generierten Query-String ersetzt wird**.
[**Mein Zeug mit POST und Files war also Unsinn!**](https://forum.selfhtml.org/self/2019/jan/7/301-weiterleitung-per-htaccess/1740156#m1740156)
Das Erzeugen eines neuen Query-Strings geschieht, wenn man folgendes tut:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2
~~~
Aber auch schon bei:
~~~apache
RewriteRule ^(.*)$ htts://www.example.com/$1 [END,,R=permanent]
~~~
**Beispiel:**
~~~
http://example.com/orte/berlin/lichtenberg
~~~
würde zu:
~~~
http://example.com/orte.php?ort=berlin&ot=lichtenberg
~~~
Bis hierher wäre alles gut. Will man hier aber tatsächlich:
~~~
http://example.com/orte/berlin/lichtenberg?foo=bar
~~~
zu
~~~
/orte.php?ort=berlin&ot=lichtenberg&foo=bar
~~~
verwandeln lassen, dann ist das QSA notwendig:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2 [QSA]
~~~
Ja. Da hab ich Unsinn geschrieben.
bearbeitet von ursus contionabundoAlso, ich habe [nachgelesen](https://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa)
> When the replacement URI contains a query string, the default behavior of RewriteRule is to discard the existing query string, and replace it with the newly generated one. Using the [QSA] flag causes the query strings to be combined.
Übersetzt:
> Das voreingestellte Verhalten ist, dass der **existierende Query-String vergessen** und **durch den neu generierten Query-String ersetzt wird**.
[**Mein Zeug mit POST und Files war also Unsinn!**](https://forum.selfhtml.org/self/2019/jan/7/301-weiterleitung-per-htaccess/1740156#m1740156)
Das Erzeugen eines neuen Query-Strings geschieht, wenn man folgendes tut:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2
~~~
Aber auch schon bei:
~~~apache
RewriteRule ^(.*)$ htts://www.example.com/$1 [END,,R=permanent]
~~~
~~~
http://example.com/orte/berlin/lichtenberg
~~~
würde zu:
~~~
http://example.com/orte.php?ort=berlin&ot=lichtenberg
~~~
Bis hierher wäre alles gut. Will man hier aber tatsächlich:
~~~
http://example.com/orte/berlin/lichtenberg?foo=bar
~~~
zu
~~~
/orte.php?ort=berlin&ot=lichtenberg&foo=bar
~~~
verwandeln lassen, dann ist das QSA notwendig:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2 [QSA]
~~~
Ja. Da hab ich Unsinn geschrieben.
bearbeitet von ursus contionabundoAlso, ich habe [nachgelesen](https://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa)
> When the replacement URI contains a query string, the default behavior of RewriteRule is to discard the existing query string, and replace it with the newly generated one. Using the [QSA] flag causes the query strings to be combined.
Übersetzt:
> Das voreingestellte Verhalten ist, dass der **existierende Query-String vergessen** und **durch den neu generierten Query-String ersetzt wird**.
[**Mein Zeug mit POST und Files war also Unsinn!**](https://forum.selfhtml.org/self/2019/jan/7/301-weiterleitung-per-htaccess/1740156#m1740156)
Das Erzeugen eines neuen Query-Strings geschieht, wenn man folgendes tut:
~~~
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2
~~~
Aber auch schon bei:
~~~apache
RewriteRule ^(.*)$ htts://www.example.com/$1 [END,,R=permanent]
~~~
~~~
http://example.com/orte/berlin/lichtenberg
~~~
würde zu:
~~~
http://example.com/orte.php?ort=berlin&ot=lichtenberg
~~~
Bis hierher wäre alles gut. Will man hier aber tatsächlich:
~~~
http://example.com/orte/berlin/lichtenberg?foo=bar
~~~
zu
~~~
/orte.php?ort=berlin&ot=lichtenberg&foo=bar
~~~
verwandeln lassen, dann ist das QSA notwendig:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2 [QSA]
~~~
Ja. Da hab ich Unsinn geschrieben.
bearbeitet von ursus contionabundoAlso, ich habe nachgelesen
> When the replacement URI contains a query string, the default behavior of RewriteRule is to discard the existing query string, and replace it with the newly generated one. Using the [QSA] flag causes the query strings to be combined.
Übersetzt:
Das voreingestellte Verhalten ist, dass der **existierende Query-String vergessen** und **durch den neu generierten Query-String ersetzt wird**.
[**Mein Zeug mit POST und Files war also Unsinn!**](https://forum.selfhtml.org/self/2019/jan/7/301-weiterleitung-per-htaccess/1740156#m1740156)
Das Erzeugen eines neuen Query-Strings geschieht, wenn man folgendes tut:
~~~
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2
~~~
Aber auch schon bei:
~~~apache
RewriteRule ^(.*)$ htts://www.example.com/$1 [END,,R=permanent]
~~~
~~~
http://example.com/orte/berlin/lichtenberg
~~~
würde zu:
~~~
http://example.com/orte.php?ort=berlin&ot=lichtenberg
~~~
Bis hierher wäre alles gut. Will man hier aber tatsächlich:
~~~
http://example.com/orte/berlin/lichtenberg?foo=bar
~~~
zu
~~~
/orte.php?ort=berlin&ot=lichtenberg&foo=bar
~~~
verwandeln lassen, dann ist das QSA notwendig:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2 [QSA]
~~~
301-Weiterleitung per .htaccess
bearbeitet von ursus contionabundoAlso, ich habe nachgelesen
> When the replacement URI contains a query string, the default behavior of RewriteRule is to discard the existing query string, and replace it with the newly generated one. Using the [QSA] flag causes the query strings to be combined.
Übersetzt:
Das voreingestellte Verhalten ist, dass der **existierende Query-String vergessen** und **durch den neu generierten Query-String ersetzt wird**.
[**Mein Zeug mit POST und Files war also Unsinn!**](https://forum.selfhtml.org/self/2019/jan/7/301-weiterleitung-per-htaccess/1740156#m1740156)
Das Erzeugen eines neuen Query-Strings geschieht, wenn man folgendes tut:
~~~
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2
~~~
Aber auch schon bei:
~~~apache
RewriteRule ^(.*)$ htts://www.example.com/$1 [END,,R=permanent]
~~~
~~~
http://example.com/orte/berlin/lichtenberg
~~~
würde zu:
~~~
http://example.com/orte.php?ort=berlin&ot=lichtenberg
~~~
Bis hierher wäre alles gut. Will man hier aber tatsächlich:
~~~
http://example.com/orte/berlin/lichtenberg?foo=bar
~~~
zu
~~~
/orte.php?ort=berlin&ot=lichtenberg&foo=bar
~~~
verwandeln lassen, dann ist das QSA notwendig:
~~~apache
RewriteRule ^/orte/(.*)/(.*) /orte.php?ort=$1&ot=$2 [QSA]
~~~