WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   htaccess - Redirect även av variabler (https://www.wn.se/forum/showthread.php?t=1037801)

rudberg 2009-09-03 10:52

htaccess - Redirect även av variabler
 
Hur kan jag göra en redirect i .htaccess som även skickar med en ursprunglig variabel (och skriva till ytterligare variabel så minst 2)

Dvs, om någon går till:
sida.se/vetdu?a=1

ska man kunna göra redirect till något som:
sida.se/exakt-mapp/exakt-fil.html?a=1&b=2

emilv 2009-09-03 12:02

Lägg till inställningen QSA till din RewriteRule, alltså:

RewriteRule xxx yyy [QSA]

rudberg 2009-09-04 12:22

Ok, så då får man kasta om ordningen på det jag skrev så det blir t ex:

redirect 301 /vetdu http://sida.se/exakt-mapp/exakt-fil.html?b=2 [QSA]

...så kommer t ex sida.se/vetdu?a=1 att bli:

http://sida.se/exakt-mapp/exakt-fil.html?b=2&a=1

rudberg 2009-09-18 14:49

Oj, vad lång tid det tog att testa detta...

Men tyvärr med lite nedslående resultat.

När jag skrev:
Kod:

RewriteEngine On
RewriteRule  ^vetdu http://www.sida.se/cart.php?a=add&pid=3& [QSA]

och sedan testade att gå till: sida.se/vetdu?a=1 så fick jag inte med det, utan bara cart....etc skrevs ut. Vad gör jag för fel?

BjörnJ 2009-09-18 14:55

Kanske beror på att variabeln a redan fanns med i regeln?

rudberg 2009-09-19 08:53

Sorry, skrev fel, jag menade att: sida.se/vetdu?b=2 inte skickar med b-variabeln, jag testade inte med samma variabel, för det hade nog just inte funkat något vidare, nej.

BjörnJ 2009-09-19 09:05

Det går väl kanske att lösa det så här någonting (utan QSA), men det känns ju lite fult när det borde fungera med QSA.
Kod:

RewriteRule ^vetdu$ http://www.sida.se/cart.php?a=add&pid=3
RewriteRule ^vetdu?(.*)$ http://www.sida.se/cart.php?a=add&pid=3&$1

Kanske även lägga in villkor före den andra regeln som kontrollerar så att den inte innhåller ?a=, &a=, ?pid= eller &pid=.

BjörnJ 2009-09-19 09:11

Citat:

Ursprungligen postat av rudberg (Inlägg 20322615)
Kod:

RewriteEngine On
RewriteRule  ^vetdu http://www.sida.se/cart.php?a=add&pid=3& [QSA]


Testa förresten utan det sista &-tecknet. Lite långsökt kanske att det skulle bero på det, men värt ett försök.

rudberg 2009-09-19 17:02

Tack så mycket för hjälpen Björn!

Nu är det löst.

Det visade sig finnas två fel: att länken skrevs om ytterligare en gång varför jag tyvärr hade lite "skit in" och därmed fick "skit ut" i mitt första försök, och det hittade jag inte förrän jag testade med de varianter du föreslog (som tyvärr dock inte fungerade), men med det första jag hade testat (nu till rätt sida), tillsammans med ditt sista förslag om att skippa sista "&" som du rekommenderade!

Alltså för någon ev annan som kan behöva det någon gång:
Kod:

RewriteEngine On
RewriteRule  ^vetdu http://www.sida.se/cart.php?a=add&pid=3 [QSA]



Alla tider är GMT +2. Klockan är nu 17:17.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson