2016-09-26 2 views
2

Ich habe Seite Redirect URL wie unten mit mehr als einem Parameter.Rewrite URL mit mehreren Parametern php

http://example.com/search.php?layout=details&Keyword=mobile&view=product&CategoryId=1026&product_id=93477

Von dieser URL Ich nehme alle Parameterwerte eine Daten aus der Datenbank zu übernehmen.

Also, wenn ich diese Seite laden, muss ich URL am benutzerfreundlichsten wie unten zeigen. In dieser URL sollte nur den Wert von product_id enthalten, die ich verwende URL meiner Umleitung ist

http://example.com/93477.htm

ich wie unter dieser URL zu umschreiben versucht haben. Aber in dem ich konnte nicht die Parameter "categoryId" und "Schlüsselwort"

umschreiben ^/([a-zA-Z0-9/-] +). Htm /search.php?layout=details & Ansicht = Produkt & Schlüsselwort = $ 3 & CategoryId = $ 2 & product_id = $ 1 last;

Bitte jemand mir helfen, um es erfolgreich getan ..

Grüße,

VIGNESH KUMAR K

+1

Wenn jeder der Parameter in der Querystring der ursprünglichen URL u sed, um eine SQL-Abfrage zu erstellen, dann ohne sie werden Sie nicht die gleichen Datensätze finden. Jeder erforderliche Parameter in der ursprünglichen URL sollte in der Rewriter-URL abgebildet werden. – RamRaider

Antwort

1

diesen paaren versuchen,

RewriteEngine on 
RewriteCond %{THE_REQUEST} \s/search\.php\?layout=details&Keyword=([^&]*)&view=product&CategoryId=([^&]*)&product_id=([^&]*) [NC] 
RewriteRule^/%2/%3/%1? [L,NE,R=302] 
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /search.php?layout=details&Keyword=$2&view=product&CategoryId=$3&product_id=$1 [L,QSA] 

Die ursprüngliche URL:

http://example.com/search.php?layout=details&Keyword=mobile&view=product&CategoryId=1026&product_id=93477

Die umgeschriebene URL:

http://example.com/93477.htm

Update 1:

[QSA] in der ab hinzugefügt wurde ove Code jetzt so, dass die Query-String, um anhängen dynamische Parameter retrive $ _GET

http://httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa

Update mit PHP 2:

die .htaccess-Code Herausgegeben zu machen Schlüsselwort und CategoryId Dynamisch

+0

Vielen Dank für Ihre Antwort, aber dass die ursprüngliche URL der CategoryId und des Schlüsselworts sich dynamisch für jede URL ändert. In diesem Fall verwenden wir Ihren Code dafür. –

+1

Verwenden Sie [QSA], um die Abfragezeichenfolge anzuhängen. lass mich updaten die Antwort halten auf Kumpel –

+1

@VigneshKumar den Code aktualisiert, überprüfen und aktualisieren Sie mich, ob es Ihr Problem Mate löst? –