🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: dk.edb.internet.webdesign.serverside
Article #249

Re: Generel og specifikke 301 rediretcs sammen

#249
From: Martin Larsen
Date: Wed, 07 Dec 2011 23:07
63 lines
4113 bytes
Preben Nielsen wrote:

> Helt i orden naturligvis - det var bestemt ikke for at presse. Jeg
> t�nkte blot at du m�ske troede at jeg ville forst� n�r jeg blev klar i
> hovedet, hvilket jeg lige ville fort�lle ikke skete:-)

Forklaringen springer jeg over, men her er et l�sningsforslag :-)

.htaccess:

ErrorDocument 404 /redirect.php

redirects.txt:

/mappe1/filnavn.htm http://mitdom�ne/mappe1/mappe2/filnavn.php
/mappe1/filnavn2.htm http://mitdom�ne/mappe1/mappe2/filnavn2.php

redirect.php:

<?php
$redirects = "redirects.txt";
$redirect_url = $_SERVER['REDIRECT_URL'];
$handle = @fopen($redirects, "r");
if ($handle) {
     while (($line = fgets($handle, 4096)) !== false) {
         list($oldUrl, $newUrl) = explode(" ", $line);
         if($redirect_url == $oldUrl) {
             header("Location: $newUrl", true, 301);
             exit;
         }
     }
     if (!feof($handle)) {
         echo "Error: unexpected fgets() fail\n";
     }
     fclose($handle);
}
header('Content-Type:text/html; charset=UTF-8', true, 404);
?>
<html>
    <head>
       <body>
          Dette er din 404 side
       </body>
    </head>
</html>


Ideen er den at redirect.php fungerer som 404 fejlside. Den kigger s� p� 
den forespurgte url (REDIRECT_URL) og indl�ser s� din redirects.txt og 
kigger efter et match.

Er der et match, hopper den til den nye url med en 301 kode.

Findes der ikke noget match, forts�tter filen sin videre f�rd og 
udsender en 404 kode sammen med det indhold du v�lger der skal st� p� 
din fejlside.

P� den m�de f�r du alts� to fluer med et sm�k, dels dine redirects, dels 
en custom fejlside :)

Du skal naturligvis pille lidt ved url'erne s� de passer til din server. 
Det er vigtigt at fejlsiden i .htaccess starter med en slash, alts� en 
relativ sti fra webroden.
Technical Details
Message-ID: <4edff1b7$0$283$14726298@news.sunsite.dk>
Path: arc1-ca.pugleaf.net!lh20ni81013pbb.0!nntp.google.com!news2.google.com!goblin3!goblin1!goblin.stu.neva.ru!uio.no!news.tele.dk!news.tele.dk!small.news.tele.dk!feed118.news.tele.dk!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
References: <aead1207-268a-44de-ad8e-9a3aa1fa2183@u9g2000vbx.googlegroups.com> <37c05d81-6eff-43b6-82b5-77c260806a34@h21g2000yqg.googlegroups.com> <4ecf7168$0$289$14726298@news.sunsite.dk> <0c04ec49-fa16-49d7-bf5f-b5053c140d6c@n6g2000vbg.googlegroups.com> <4ecf85a0$0$289$14726298@news.sunsite.dk> <4ed39499$0$284$14726298@news.sunsite.dk> <850158f5-9939-46a4-9b2e-09a0b33af970@s6g2000vbc.googlegroups.com> <e2131a54-fdbc-47e7-b657-2e4daf14d5ae@v29g2000yqv.googlegroups.com> <4ed4e645$0$281$14726298@news.sunsite.dk> <c45db592-a429-4428-b5c7-aaf110b7a04a@20g2000yqa.googlegroups.com> <4ed53228$0$284$14726298@news.sunsite.dk> <c43726fa-4300-4405-ad90-d217268ead9e@gl2g2000vbb.googlegroups.com> <4ed54f66$0$291$14726298@news.sunsite.dk> <48c6d1d7-049b-4d32-bcfd-8cfb76a0626a@w15g2000yqc.googlegroups.com> <4ed8a148$0$292$14726298@news.sunsite.dk> <915a0ad1-377d-4d92-a8fe-0890ba238c24@e2g2000vbb.googlegroups.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: fe0cc,fd8d266dce45106e
X-Google-NewGroupId: yes
X-Google-Attributes: gid855c6d7664,domainid0,public,usenet
X-Google-Language: DANISH,ASCII
Received: by 10.68.36.6 with SMTP id m6mr3286798pbj.4.1323299256039;
        Wed, 07 Dec 2011 15:07:36 -0800 (PST)
Path: arc1-ca.pugleaf.net!lh20ni81013pbb.0!nntp.google.com!news2.google.com!goblin3!goblin1!goblin.stu.neva.ru!uio.no!news.tele.dk!news.tele.dk!small.news.tele.dk!feed118.news.tele.dk!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Thu, 08 Dec 2011 00:07:34 +0100
From: Martin Larsen <martin+spamfree+larsen@bigfoot.com>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.19) Gecko/20110420
MIME-Version: 1.0
Newsgroups: dk.edb.internet.webdesign.serverside
Subject: Re: Generel og specifikke 301 rediretcs sammen
References: <aead1207-268a-44de-ad8e-9a3aa1fa2183@u9g2000vbx.googlegroups.com> <37c05d81-6eff-43b6-82b5-77c260806a34@h21g2000yqg.googlegroups.com> <4ecf7168$0$289$14726298@news.sunsite.dk> <0c04ec49-fa16-49d7-bf5f-b5053c140d6c@n6g2000vbg.googlegroups.com> <4ecf85a0$0$289$14726298@news.sunsite.dk> <4ed39499$0$284$14726298@news.sunsite.dk> <850158f5-9939-46a4-9b2e-09a0b33af970@s6g2000vbc.googlegroups.com> <e2131a54-fdbc-47e7-b657-2e4daf14d5ae@v29g2000yqv.googlegroups.com> <4ed4e645$0$281$14726298@news.sunsite.dk> <c45db592-a429-4428-b5c7-aaf110b7a04a@20g2000yqa.googlegroups.com> <4ed53228$0$284$14726298@news.sunsite.dk> <c43726fa-4300-4405-ad90-d217268ead9e@gl2g2000vbb.googlegroups.com> <4ed54f66$0$291$14726298@news.sunsite.dk> <48c6d1d7-049b-4d32-bcfd-8cfb76a0626a@w15g2000yqc.googlegroups.com> <4ed8a148$0$292$14726298@news.sunsite.dk> <915a0ad1-377d-4d92-a8fe-0890ba238c24@e2g2000vbb.googlegroups.com>
In-Reply-To: <915a0ad1-377d-4d92-a8fe-0890ba238c24@e2g2000vbb.googlegroups.com>
Lines: 63
Message-ID: <4edff1b7$0$283$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 212.242.137.7
X-Trace: news.sunsite.dk DXC=<hOJ3D4J1ikHNh;Hl28o0iYSB=nbEKnkkO^G9;m`9]dolNCM^DY<X1`WVClUPd35FgX7WGINRM<[dEmbOM;T7;Wem[`MBN]RbQn
X-Complaints-To: staff@sunsite.dk
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit