2016-05-05 16 views
1

Ich breche mir den Kopf, wenn ich ein paar Seiten von meiner alten ASP-Website auf meine neue PHP-Website umleite.Rewrite-Regel funktioniert nicht

Zum Beispiel möchte ich von meiner asp Website meiner PHP-Website

1) http://www.mywebsite.com/shopdisplayproducts.asp?id=11&cat=food&sortorder=mostrecent&page=1&pagesize=12

TO

http://www.mywebsite.com/index.php?route=product/category&path=10_11

wo 11 sollte die permanent die folgenden 2 Seiten umleiten sein Link zwischen alter und neuer Website, um die richtige Seite anzuzeigen.

2) shopexd.asp? Id = 3903 & prod = Nahrung & VRNT = grün & mrk = Studio & cat = 11

ZU

index.php? Route = Produkt/Produkt & path = 10_11 & product_id = 3903

wo die Zahl 11 ist die Verbindung zwischen alten und neuen uRL für die Kategorie und die Anzahl 3903 ist der Link für die Produktnummer

Ich habe die folgende Rewrite-Regel in meiner Htaccess-Seite für die erste Weiterleitung, aber es scheint nicht ausgelöst werden. Was ist falsch? Bitte helfen Sie.

RewriteCond %{REQUEST_URI} ^/shopdisplayproducts\.asp\?id=([0-9]+).*$ [NC] 
RewriteRule ^shopdisplayproducts\.asp\?id=([0-9]+).*$ index.php?route=product/category&path=10_$1 [R=301,L] 

ich auch versucht:

RewriteCond %{REQUEST_URI} ^shopdisplayproducts\.asp\?id=([0-9]+).*$ [NC] 
RewriteRule ^shopdisplayproducts\.asp\?id=([0-9]+).*$ index.php?route=product/category&path=10_$1 [R=301,L] 

Vielen Dank für jede Hilfe Sabko

Antwort

0

Sie benötigen QUERY_STRING Variable in der Regel Bedingung verwenden:

RewriteEngine On 

# /shopexd.asp?id=3903&prod=food&vrnt=green&mrk=studio&cat=11 to 
# /index.php?route=product/product&path=10_11&product_id=3903 
RewriteCond %{QUERY_STRING} ^id=(\d+)&.*&cat=(\d+) [NC] 
RewriteRule ^shopexd\.asp$ /index.php?route=product/category&path=10_%2&product_id=%1 [R=301,NC,L] 

RewriteCond %{QUERY_STRING} ^id=(\d+) [NC] 
RewriteRule ^shopdisplayproducts\.asp$ /index.php?route=product/category&path=10_%1 [R=301,NC,L] 
+0

Hallo Anubhava, – SabKo

+0

@ Anubhava , Vielen Dank für Ihre schnelle Antwort! Das funktioniert einwandfrei! Jedoch habe ich 1 andere alte asp-URL, die permanent geleitet werden muss und die in Konflikt mit Ihrem Vorschlag kommen könnte, weil der query_string auch "id = ..." darin enthält: http://www.mywebsite.com/shopexd .asp? id = 3903 & prod = food & vrnt = grün & mrk = studio & cat = 11 sollte auf http://www.mywebsite.com/index.php?route=product/product&path=10_11&product_id=3903 zurückgesetzt werden. Die Nummer 11 ist die Verbindung zwischen alter und neuer URL für die Kategorie und die Nummer 3903 ist der Link für die Produktnummer .... – SabKo

+0

ok, aber sollte das nicht Teil Ihrer Frage sein? – anubhava

Verwandte Themen