---
title: "Behöver hjälp med redirect"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/163490-behöver-hjälp-med-redirect"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Nova"
published: "2007-08-14T21:01:32.000Z"
updated: "2007-08-15T13:01:34.000Z"
replies: 6
views: 575
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/163490-behöver-hjälp-med-redirect"
---

# Behöver hjälp med redirect

## #1 — Nova, 2007-08-14T21:01Z

På en sida jag har, har man kunnat gå tre olika vägar till samma sida och urlerna har sett ut så här.

/product_info.php?cPath=27_35&products_id=56 och
 /product_info.php?manufacturers_id=12&products_id=56.
/product_info.php?products_id=56

Nu har jag tagit bort cPath och manufacturers_id på alla länkar som leder till product_info.php?products_id=56. Men sökmotorerna har fortfarande lagrat en del av de gammla urlerna så jag skulle vilja göra en redirect 301 på dem.
Det borde gå att göra med en ifsats typ

if request.QueryString = cPath \<\>and products_id \<\> redirect 301 /product_info.php?products_id=request.QueryString products_id
else if 
request.QueryString = manufacturers_id \<\> and products_id \<\> redirect 301 /product_info.php?products_id=request.QueryString products_id

Men jag har ingen aning hur man skriver det i Php.

Permalänk: https://www.webforum.nu/p/163490

## #2 — colione, 2007-08-14T21:19Z

```php
if ( ( isset($_GET['cPath']) || isset($_GET['manufacturers_id']) ) && isset($_GET['products_id']) ) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: /product_info.php?products_id=".$_GET['products_id']);
header("Connection: close");
}
```

Permalänk: https://www.webforum.nu/p/2014397

## #3 — Nova, 2007-08-14T21:46Z

Tackar och bugar :)

Permalänk: https://www.webforum.nu/p/2014408

## #4 — nitro2k01, 2007-08-14T22:01Z

colione: Är det inte mer korrekt att använda die() istället för header("Connection: close");? (Eller möjligen båda tillsammans)

Permalänk: https://www.webforum.nu/p/2014412

## #5 — colione, 2007-08-14T22:19Z

Bah nu gör du det igen nitro2k01. Skriver mitt namn med stort c. :p

Det är väl lite hugget som stucket, die (eller exit för den delen) genererar en connection close. Jag föredrar dock att använda header så jag har koll på vilka huvuden som faktiskt skrivs ut.
Skälet till att man använder det där är för att IE har en tendens att strula om man inte skickar med Connection: close, antingen via die, exit eller header.

Jag brukar använda die eller exit när jag vill skriva ut något mer.

Du ska alltså heller inte använda båda samtidigt.

Permalänk: https://www.webforum.nu/p/2014416

## #6 — nitro2k01, 2007-08-15T11:24Z

Varför jag tycker att man ska använda die eller dylikt är för att jag är orolig att skripet inte slutar köras direkt om man bara skickar Connection: close
Det kanske är en obefogad oro?
Och så har jag redigerat ditt namn. Jag fick för mig att ditt namn enligt konvention skulle stavas med stor bokstav i början av en mening, sorry.

Permalänk: https://www.webforum.nu/p/2014512

## #7 — colione, 2007-08-15T13:01Z

Jo din oro stämmer, scriptet fortsätter köras om man inte kastar in en die eller exit. Om man har kod som kan exekveras efter en if-sats som redirectar bör man använda det. I detta fallet verkar det ju vara så :).

Nytt exempel:

```php
if ( ( isset($_GET['cPath']) || isset($_GET['manufacturers_id']) ) && isset($_GET['products_id']) ) { 
header("HTTP/1.1 301 Moved Permanently"); 
header("Location: /product_info.php?products_id=".$_GET['products_id']); 
exit();
}
```

Permalänk: https://www.webforum.nu/p/2014541

---

Tråden på webben: https://www.webforum.nu/amne/php/163490-behöver-hjälp-med-redirect
