Ich möchte eine URL zu einer anderen Seite mod_rewrite, aber ich möchte auch alle Abfragezeichenfolgen beibehalten werden.Wie kann ich mod_rewrite und Abfragezeichenfolgen behalten?
RewriteEngine On
#enforce trailing slashes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://localhost/siteroot/$1/ [L,R=301]
RewriteRule ^apps/([A-Za-z0-9-_]+)/?$ index.php&app=$1
Also, wenn ein Nutzer besucht apps/app1/
wird index.php?app=app1
gezeigt. Ich möchte jedoch optionale Abfragezeichenfolgen beibehalten können, so dass apps/app1/?variable=x
index.php?app=app1&variable=x
zurückgibt.
Welche mod_rewrite Regel/Bedingung würde dies passieren?
Danke, ich wusste nicht, dass es so einfach war. –
+1 Zustimmen mit @DanielOakey .. Ich habe versucht, etwas mit Regex zu hacken und es hat nicht funktioniert .. –
Um zu klären, es geht nicht um Umschreibungen vs Weiterleitungen. http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa sagt: Wenn der Ersatz-URI eine Abfragezeichenfolge enthält, ist das Standardverhalten von RewriteRule, die vorhandene Abfragezeichenfolge zu verwerfen und sie zu ersetzen mit dem neu erzeugten. Wenn Sie das [QSA] -Flag verwenden, werden die Abfragezeichenfolgen kombiniert. –