2017-01-24 3 views
1

Was die richtige mod_rewrite Regel Apache ist jede Abfragegenerische URL Rewrite keeping Query-String

mydomain.com/?var1=val1&var2=val2&...&mode=app_mode&varN=valN&... 

Typ

mydomain.com/app_mode/?var1=val1&var2=val2&...&varN=valN&... 

zu ändern (Wenn die mode Variable in der QUERY_STRING nicht vorhanden ist, die URL sollte beibehalten werden, wie es ist.)

Antwort

1

Sie können diese Regel in Ihrem root .htaccess verwenden:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^(.*&)?mode=([^&]+)(?:&(.*))?$ [NC] 
RewriteRule ^/?$ /%2/?%1%3 [L,R=302,NE] 

Dies ermöglicht mode Parameter an einer beliebigen Stelle in der Abfragezeichenfolge.

+0

Ich bin mir nicht sicher, ob es richtig ist. Der Punkt ist, dass 'app_mode' vom' QUERY_STRING' '' Modus''-Parameter kommt, also muss er als Pfad extrahiert werden, und der Rest des 'QUERY_STRING' wird unverändert beibehalten. – Mkoch

+0

ok überprüfe meine aktualisierte Antwort jetzt. – anubhava