Avatar billede visto Guru
28. november 2011 - 10:35 Der er 3 kommentarer og
1 løsning

redirect 301 til forskellige situationer

I forbindelse med overgang til et renoveret site, vil jeg lave 301 redirects fra de gamle sider. Da der er over 1000 sider, der skal redirectes, ønsker jeg - hvis det er muligt - at lave nogle generelle henvisninger, som, hvor det er aktuelt, i stedet for at lave en linje for hver side i .htaccess (denne teknik kender jeg allerede til), redirecter efter mønstre, der gælder for en grupper af filer, da det vil spare mig for en del arbejde med at lave enkeltlinje-redirects.

Jeg har oprettet spørgsmålet under PHP, for det tilfælde at det ikke kan laves alene med i .htaccess, idet jeg kører med PHP.

Jeg har brug for følgende typer redirects, hvor jeg som nævnt behersker teknikken til nummer 1, hvis denne stadig kan bruges sammen med de efterfølgende:

1) Individuelle redirects fra en fil til en anden, i de tilfælde, hvor navn og/eller sti er ændret unikt. Jeg forestiller mig at jeg kan bruge enkeltlinje-redirects i .htaccess, som jeg som nævnt kender til i forvejen.

2) Der er grupper af sider, der er placeret i en ny mappestruktur. Filerne har stadig de samme navne (dog bliver .htm selvfølgelig stadig til .php). Dvs. der skal laves en redirect, der sørger for at filer, der matcher mønsteret:
/mappe1/mappe2/filnavn.htm
bliver redirected til:
/mappe3/mappe4/filnavn.php

3) De gamle sider er .htm, de nye er .php. For alle de sider, som ikke er blevet redirected enten via metode 1) eller metode 2) er stien den samme og filnavnet er det samme. Her vil jeg gerne have en generel opskrift, der altså blot sørger for at .htm sider bliver redirectet til tilsvarende .php sider.
Det vil altså sige, at metode 1) og 2) skal have forrang for denne generelle metode 3)

Jeg forestiller mig, at denne "pakke" først skal undersøge, om der er er ernkeltlinje-rediretcs (1), og hvis ikke der er det, se om der er grupper af filer der skal redirectes i grupper (2); alle filer, der ikke er blevet redirected efter 1) eller 2) skal så redirectes efter den generelle 3)

Kan dette lade sig gøre? I givet fald hvordan?

Siderne ligger på et almindeligt PHP webhotel.
Avatar billede The_Buzz Novice
28. november 2011 - 10:50 #1
$_SERVER['REQUEST_URI'] = din URL som bliver bedt om

Så kan du lave nogle if sætninger over hvis

if ($_SERVER['REQUEST_URI'] == '/noget_redirect.php')
    header("Location: /foo.php",TRUE,301);
Avatar billede visto Guru
28. november 2011 - 10:58 #2
Har du mulighed for at være mere specifik? Jeg kan ikke skrive PHP, så hvis jeg skal kunne bruge det, skal opskriften være helt præcis ud fra mine punkter.
Avatar billede The_Buzz Novice
29. november 2011 - 08:52 #3
Hvis du slet ikke kan PHP tror jeg du burde alliere dig med en der kan som måske vil tage betaling for det.

Det er jo helt afhængigt af hvad system det skal integreres i osv.
Avatar billede visto Guru
29. november 2011 - 09:08 #4
OK.

Afslutter hermed.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester