🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: dk.edb.internet.webdesign.serverside
55 messages
55 total messages Page 1 of 2 Started by Preben Nielsen Thu, 17 Nov 2011 07:33
Page 1 of 2 • 55 total messages
Generel og specifikke 301 rediretcs sammen
#153
Author: Preben Nielsen
Date: Thu, 17 Nov 2011 07:33
19 lines
2567 bytes
Når jeg en dag skifter online fra mit gamle til mit renoverede site,
vil jeg gerne sørge for at 301 redirecte fra de gamle sider til de
nye. En stor del af de nye sider adskiller adskiller sig (hvad navn og
placering angår) kun fra de gamle ved at slutte med .php i stedet
for .htm.  Findes der en måde, hvor jeg kan redirecte disse sider i ét
hug altså fremfor at skulle lave henvisninger for hver enkelt side?

En del sider har fået nyt navn og/eller placering. Dem er jeg jo nødt
til at lave individuelle henvisninger til. Hvis jeg nu har ovennævnte
generelle redirect fra alle filer mitsite/mappe/filnavn.htm til
mitsite/mappe/filnavn.php og jeg så tilføjer en linje for hver af de
"individuelle" sider, vil sidstnævnte redirects så overrule den
generelle redirect, så jeg dermed bruger den generelle henvisning for
alle filer der kun skifter extension, mens de individuelle filer
henvises individuelt?
Hvis dette ikke kan lade sig gøre, hører jeg gerne gode forslag til
hvordan jeg bedst tager højde for overgangen.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#154
Author: Martin Larsen
Date: Thu, 17 Nov 2011 12:44
34 lines
2473 bytes
Preben Nielsen wrote:

Vi tager lige dine sp�rgsm�l i omvendt orden!

 > Hvis jeg nu har ovenn�vnte
 > generelle redirect fra alle filer mitsite/mappe/filnavn.htm til
 > mitsite/mappe/filnavn.php og jeg s� tilf�jer en linje for hver af de
 > "individuelle" sider, vil sidstn�vnte redirects s� overrule den
 > generelle redirect

Du kan bruge RewriteMap til dette. Du laver en tekstfil fx redirects.txt 
med en f�r og efter url pr. linje:

/gammel-url1.html /ny-url1.php
/gammel-url2.html /ny-url2.php
/gammel-url3.html /ny-url3.php

S� laver du f�lgende i din .htacccess eller .conf fil:

RewriteMap redirects txt:/sti/til/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

P� den m�de laver apache et opslag i tabellen og laver en 301 hvis der 
er et match. last s�rger for at f�lgende regler ikke udf�res hvis der er 
et match.

 >   Findes der en m�de, hvor jeg kan redirecte disse sider i �t
 > hug alts� fremfor at skulle lave henvisninger for hver enkelt side?

Derefter tilf�jer du:

RewriteRule ^(.*)\.html$    $1.php  [R=301]

Som laver alle html om til den tilsvarende php.
Re: Generel og specifikke 301 rediretcs sammen
#155
Author: Preben Nielsen
Date: Thu, 17 Nov 2011 15:40
3 lines
1600 bytes
Perfekt! Tak skal du have.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#156
Author: Preben Nielsen
Date: Thu, 17 Nov 2011 15:46
11 lines
1978 bytes
I den .htaccess jeg har i forvejen er der nogle henvisninger af typen

redirect 301 /mappe/filnavn.htm http://mitdomæne.dk/mappe/nymappe/filnavn.htm

I din opskrift
/gammel-url1.html /ny-url1.php
har du ikke domænenavn med i forbindelse med den nye url. Er det ikke
nødvendigt?

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#157
Author: Martin Larsen
Date: Thu, 17 Nov 2011 19:46
6 lines
1705 bytes
Preben Nielsen wrote:

> Er det ikke
> n�dvendigt?

Kun hvis der skal omstilles til et andet dom�ne. Ellers er det valgfrit.
Re: Generel og specifikke 301 rediretcs sammen
#158
Author: Preben Nielsen
Date: Thu, 17 Nov 2011 22:23
8 lines
1941 bytes
On 17 Nov., 20:46, Martin Larsen wrote:

> Kun hvis der skal omstilles til et andet domæne. Ellers er det valgfrit.

Fint. Tak igen.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#162
Author: Preben Nielsen
Date: Mon, 21 Nov 2011 14:08
13 lines
2479 bytes
Der er dukket endnu et ønske op: Kan det lade sig gøre i et hug at 301
redirecte alle filer fra én mappestruktur til nye filer i en anden
mappestruktur, hvor filnavnene bortset fra extension er uændrede, OG
hvor samtidig extension i de gamle filer er .htm og i de nye er .php?
Fx filer, hvor mønsteret er

/mappe_navn1/mappe_navn2/fil_1.htm /mappe_navn3/mappe_navn4/fil_1.php
/mappe_navn1/mappe_navn2/fil_2.htm /mappe_navn3/mappe_navn4/fil_2.php
/mappe_navn1/mappe_navn2/fil_3.htm /mappe_navn3/mappe_navn4/fil_3.php

fremfor at redirecte hver enkelt fil som ovenfor i en linje for sig?

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#163
Author: Martin Larsen
Date: Tue, 22 Nov 2011 08:43
5 lines
2018 bytes
Preben Nielsen wrote:

> fremfor at redirecte hver enkelt fil som ovenfor i en linje for sig?

Jep. Vender tilbage ....
Re: Generel og specifikke 301 rediretcs sammen
#164
Author: Martin Larsen
Date: Tue, 22 Nov 2011 21:12
15 lines
2148 bytes
Preben Nielsen wrote:

> Fx filer, hvor m�nsteret er
>
> /mappe_navn1/mappe_navn2/fil_1.htm /mappe_navn3/mappe_navn4/fil_1.php
> /mappe_navn1/mappe_navn2/fil_2.htm /mappe_navn3/mappe_navn4/fil_2.php
> /mappe_navn1/mappe_navn2/fil_3.htm /mappe_navn3/mappe_navn4/fil_3.php
>
> fremfor at redirecte hver enkelt fil som ovenfor i en linje for sig?
>

Dette skulle kunne g�re det:

RewriteRule ^/mappe_navn1/mappe_navn2/(.*)\.html$ 
/mappe_navn3/mappe_navn4/$1.php  [R=301]
Re: Generel og specifikke 301 rediretcs sammen
#165
Author: Preben Nielsen
Date: Tue, 22 Nov 2011 21:36
15 lines
2409 bytes
On 22 Nov., 22:12, Martin Larsen wrote:

> Dette skulle kunne gøre det:
>
> RewriteRule ^/mappe_navn1/mappe_navn2/(.*)\.html$
> /mappe_navn3/mappe_navn4/$1.php  [R=301]

Mange tak!

Findes der muligheder for at indsætte kommentarer i .htaccess-koden,
som forklarer, hvad de enkelte ting gør? - altså ligesom fx i css /*
kommentar */ eller i html <!-- kommentar -->   ?
I givet fald, hvordan gøres det?

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#166
Author: Martin Larsen
Date: Tue, 22 Nov 2011 21:45
10 lines
2290 bytes
Preben Nielsen wrote:

> Findes der muligheder for at inds�tte kommentarer i .htaccess-koden,
> som forklarer, hvad de enkelte ting g�r? - alts� ligesom fx i css /*
> kommentar */ eller i html<!-- kommentar -->    ?
> I givet fald, hvordan g�res det?

Bare start med en havel�ge:

# Dette er en kommentar
Re: Generel og specifikke 301 rediretcs sammen
#167
Author: Preben Nielsen
Date: Wed, 23 Nov 2011 14:42
26 lines
2674 bytes
On 22 Nov., 22:45, Martin Larsen  wrote:

> Bare start med en havelåge:

> # Dette er en kommentar

Tak.

Jeg er begyndt at tjekke de koder du har anvist, og denne

RewriteMap redirects txt:/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

udløser følgende fejlmelding:

The server encountered an internal error or misconfiguration and was
unable to complete your request.

uanset om koden står alene som ovenfor eller efterfulgt af

RewriteRule ^(.*)\.html$    $1.php  [R=301]
 sådan som du har foreslët.

Hvad kan det skyldes?

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#168
Author: Martin Larsen
Date: Wed, 23 Nov 2011 21:53
6 lines
2053 bytes
Preben Nielsen wrote:

> Hvad kan det skyldes?

Det kunne v�re placeringen af redirects.txt. Hvis den ligger samme sted 
som .htaccess s� pr�v at fjerne den indledende skr�streg.
Re: Generel og specifikke 301 rediretcs sammen
#169
Author: Preben Nielsen
Date: Wed, 23 Nov 2011 22:38
29 lines
3051 bytes
On 23 Nov., 22:53, Martin Larsen wrote:

> Det kunne være placeringen af redirects.txt. Hvis den ligger samme sted
> som .htaccess så prøv at fjerne den indledende skråstreg.

Har så prøvet med

RewriteMap redirects txt:redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

Det gør ingen forskel. Og jeg tror problemet må være et andet, for jeg
har også prøvet at lægge redirects.txt i en mappe /redirects hvor
koden så var

RewriteMap redirects txt:/redirects/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

Samme resultat.

Det lader altså til at være et eller andet i koden

RewriteMap redirects txt:/sti/til/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

der laver fejlen, uanset hvad stien er, eller om redirects.txt ligger
i roden.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#170
Author: Martin Larsen
Date: Thu, 24 Nov 2011 08:40
8 lines
2467 bytes
Preben Nielsen wrote:

> Det g�r ingen forskel. Og jeg tror problemet m� v�re et andet, for jeg
> har ogs� pr�vet at l�gge redirects.txt i en mappe /redirects hvor
> koden s� var

Har du mulighed for at poste hele din .htaccess og redirects.txt eller 
sende mig dem p� en email?
Re: Generel og specifikke 301 rediretcs sammen
#221
Author: Chano Andersen
Date: Thu, 24 Nov 2011 09:18
11 lines
2404 bytes
Den 23/11/11 23.38, Preben Nielsen skrev:
> RewriteMap redirects txt:/sti/til/redirects.txt
> RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]
>
> der laver fejlen, uanset hvad stien er, eller om redirects.txt ligger
> i roden.

Er det din din egen server, eller er det en webhosting udbyder? Er roden 
filsystemts rod, eller bare toppen af det omr�de du f�r adgang til via FTP?

- Chano Andersen
Re: Generel og specifikke 301 rediretcs sammen
#222
Author: Preben Nielsen
Date: Thu, 24 Nov 2011 16:43
70 lines
4747 bytes
On 24 Nov., 10:18, Chano Andersen <sunsite012...@chanoandersen.dk>
wrote:

> Er det din din egen server, eller er det en webhosting udbyder? Er roden
> filsystemts rod, eller bare toppen af det område du får adgang til via FTP?

Det er hos webhosten. Med roden mener jeg sitets rod, som hos hosten
hedder /public_html/

On 24 Nov., 09:40, Martin Larsen wrote:

> Har du mulighed for at poste hele din .htaccess og redirects.txt eller
> sende mig dem på en email?

Jeg vil gerne nøjes med at gøre det her, hvor jeg blot har udskfitet
mit rigtige domænenavn med mitdomæne.dk og udskiftet mappe- og
filnavne med fiktive. Lige i den fase jeg arbejder med det nye site,
er jeg helst fri for tilskuere på de nye sider.

Jeg har prøvet mig frem på alle mulige måder, og konklussionen er for
mig at se utvetydig:

Den kode, der giver problemer har jeg prøvet i følgende versioner:

1) (henviser til redirects.txt i sitets rod)
RewriteMap redirects txt:/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

RewriteRule ^(.*)\.htm$    $1.php  [R=301]

2) (som 1 dog uden / før redirects.txt)
RewriteMap redirects txt:redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

RewriteRule ^(.*)\.htm$    $1.php  [R=301]

3) (her ligger redirects.txt i mappen /redirects/)
RewriteMap redirects txt:/redirect/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

RewriteRule ^(.*)\.htm$    $1.php  [R=301]

Hvis
RewriteRule ^(.*)\.htm$    $1.php  [R=301]
er alene, sker der ingen fejl (den virker dog ikke, omstiller ikke til
den nye side med .php ekstension, men det er en anden historie, som
jeg tager fat på i næste omgang - lad os lige få server-fejlen væk
først)

Hvis
RewriteMap redirects txt:/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]
står helt alene i .htaccess i en hvilken somhelst af de tre ovennævnte
versioner, udløses fejlen, som er en 500 internal server error.

Altså må det være den der driller.

I redirects.txt er der aktuelt (til testformålet) kun én linje af
typen:

/mappe1/filnavn.htm http://mitdomæne/mappe1/mappe2/filnavn.php

Jeg har tjekket, at adresser er korrekte både for den gamle og den nye
side.

Koderne er både i .htaccess og redirects.txt barberet helt ned til de
nævnte for at kunne indkredse fejlen med sikkerhed.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#225
Author: Martin Larsen
Date: Fri, 25 Nov 2011 10:43
25 lines
2863 bytes
Preben Nielsen wrote:

> Hvad kan det skyldes?

Nu har jeg sl�et op og fundet ud af at RewriteMap ikke dur i .htaccess, 
kun i hovedkonfigurationsfilen!

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritemap

Det er ogs� her jeg selv har brugt den, men jeg gik ud fra at den ogs� 
virkede i .htaccess da langt de fleste kommandoer g�r dette. Men ak.

Har du mulighed for at �ndre i selve konfiguration eller i en virtual 
host include fil?

Ellers kommer du nok ikke uden om at liste henvisninger direkte i din 
.htaccess, men det vil jo virke alligevel. Du skal s� bare bruge en 
r�kke Redirect kommandoer:

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

/mappe1/filnavn.htm er stien i browseren, ikke p� serveren! Alts� vil 
den matche http//www.eksempel.dk/mappe1/filnavn.htm.

H�ber det virker for dig!
Re: Generel og specifikke 301 rediretcs sammen
#226
Author: Preben Nielsen
Date: Fri, 25 Nov 2011 11:07
27 lines
3173 bytes
On 25 Nov., 11:43, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Har du mulighed for at ændre i selve konfiguration eller i en virtual
> host include fil?

Det v ed jeg ikke, ved ikke hvad det handler om, og hvordan det i
givet fald skal gøres. Kan du detaljere lidt?

> Ellers kommer du nok ikke uden om at liste henvisninger direkte i din
> .htaccess, men det vil jo virke alligevel. Du skal så bare bruge en
> række Redirect kommandoer:
>
> Redirect 301 /mappe1/filnavn.htmhttp://mitdomæne/mappe1/mappe2/filnavn.php
>
> /mappe1/filnavn.htm er stien i browseren, ikke på serveren! Altså vil
> den matche http//www.eksempel.dk/mappe1/filnavn.htm.
>
> Håber det virker for dig!

Jeg har ikke noget problem med at få redirects linje for linje til at
virke, bruger det i forvejen. Spørgsmålet kommer af at jeg har et par
tusinde sider, så enhver forenkling ved samme mønster ville spare mig
noget tid.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#227
Author: Martin Larsen
Date: Fri, 25 Nov 2011 12:10
22 lines
3040 bytes
Preben Nielsen wrote:

> Det v ed jeg ikke, ved ikke hvad det handler om, og hvordan det i
> givet fald skal g�res. Kan du detaljere lidt?

Et det din egen eller en dedikeret server? Eller et almindeligt 
webhotel. Hvis det er det f�rste har du mulighed for at �ndre i 
httpd.conf, det kan du normalt ikke p� webhoteller.

> Jeg har ikke noget problem med at f� redirects linje for linje til at
> virke, bruger det i forvejen. Sp�rgsm�let kommer af at jeg har et par
> tusinde sider, s� enhver forenkling ved samme m�nster ville spare mig
> noget tid.

Idet jeg g�r ud fra at serveren underst�tter php er der en hel anden 
mulighed jeg kan komme ind p� senere. Har ikke tid i dag. Men kort sagt 
kan man lave et samarbejde mellem apache og php som g�r det.

Alternativt kan du autogenerere .htaccess ud fra din liste, s� slipper 
du i det mindste for det manuelle arbejde. Det vil v�re ganske let.

Martin
Re: Generel og specifikke 301 rediretcs sammen
#228
Author: Preben Nielsen
Date: Fri, 25 Nov 2011 13:58
9 lines
2462 bytes
On 25 Nov., 13:10, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Et det din egen eller en dedikeret server? Eller et almindeligt
> webhotel.

Almindelig webhotel.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#229
Author: Chano Andersen
Date: Fri, 25 Nov 2011 18:54
32 lines
3490 bytes
Den 24/11/11 17.43, Preben Nielsen skrev:
> On 24 Nov., 10:18, Chano Andersen<sunsite012...@chanoandersen.dk>
> wrote:
>
>> Er det din din egen server, eller er det en webhosting udbyder? Er roden
>> filsystemts rod, eller bare toppen af det omr�de du f�r adgang til via FTP?
>
> Det er hos webhosten. Med roden mener jeg sitets rod, som hos hosten
> hedder /public_html/

Hvis du henviser til /redirects.txt, s� opfatter Apache det som 
serverens rod. Det vil sige, at du henviser til en lokation der er langt 
uden for din hjemmemappe.

Du skal alts� finde den pr�cise sti til filen, det skulle jeg mene 
f�lgende PHP script kan hj�lpe dig med:

<?php
header("Content-Type: text/plain");
print_r($_SERVER);
?>

Put denne i en fil du kalder noget med .php efter, og l�g den i samme 
mappe som redirects.txt, hent den derefter via din browser.

Det giver indholdet af $_SERVER variablen, som blandt andet indeholder 
diverse stier. Du skal se efter en der hedder noget i stil med 
/home/ditbrugernavn eller /users/ditbrugernavn eller lignende, som kunne 
virke som den mappe dine filer ligger i. Derefter s�tter du den foran 
redirects.txt

- Chano Andersen
Re: Generel og specifikke 301 rediretcs sammen
#230
Author: Preben Nielsen
Date: Sun, 27 Nov 2011 13:45
33 lines
3637 bytes
On 25 Nov., 19:54, Chano Andersen <sunsite012...@chanoandersen.dk>
wrote:

> Hvis du henviser til /redirects.txt, så opfatter Apache det som
> serverens rod. Det vil sige, at du henviser til en lokation der er langt
> uden for din hjemmemappe.
>
> Du skal altså finde den præcise sti til filen, det skulle jeg mene
> følgende PHP script kan hjælpe dig med:
>
> <?php
> header("Content-Type: text/plain");
> print_r($_SERVER);
> ?>
>
> Put denne i en fil du kalder noget med .php efter, og læg den i samme
> mappe som redirects.txt, hent den derefter via din browser.
>
> Det giver indholdet af $_SERVER variablen, som blandt andet indeholder
> diverse stier. Du skal se efter en der hedder noget i stil med
> /home/ditbrugernavn eller /users/ditbrugernavn eller lignende, som kunne
> virke som den mappe dine filer ligger i. Derefter sætter du den foran
> redirects.txt

Jeg forstå ikke umiddelbart hvad jeg skal gøre, og mit gæt er, at det
vil tage mig lige så lang tid at finde ud af det, som det vil tage
mig, at lave en slave-.htaccess med en linje for hver henvisning. Og
formålet skulle jo være at spare tid og arbejde.

Så med mindre der findes en løsning, som I ved virker, og som er ret
umiddelbar at gå til, så holder jeg mig til slave-modellen.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#231
Author: Chano Andersen
Date: Sun, 27 Nov 2011 16:50
13 lines
2806 bytes
Den 27/11/11 14.45, Preben Nielsen skrev:
> Jeg forst� ikke umiddelbart hvad jeg skal g�re, og mit g�t er, at det
> vil tage mig lige s� lang tid at finde ud af det, som det vil tage
> mig, at lave en slave-.htaccess med en linje for hver henvisning. Og
> form�let skulle jo v�re at spare tid og arbejde.

Form�let var at finde den fulde fysiske sti til dine filer.

Men hvis du kender den FULDE server sti, alts� ikke bare den der er 
relativ til din FTP mappe, men den faktiske sti p� serveren, s� skal du 
smide den foran din redirects.txt

- Chano Andersen
Re: Generel og specifikke 301 rediretcs sammen
#232
Author: Preben Nielsen
Date: Sun, 27 Nov 2011 17:04
8 lines
2556 bytes
On 27 Nov., 17:50, Chano Andersen <sunsite012...@chanoandersen.dk>
wrote:

> Formålet var at finde den fulde fysiske sti til dine filer.

Kan det ikke bare være http://mitdoæne.dk/....

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#233
Author: Chano Andersen
Date: Sun, 27 Nov 2011 18:25
16 lines
2945 bytes
Den 27/11/11 18.04, Preben Nielsen skrev:
> On 27 Nov., 17:50, Chano Andersen<sunsite012...@chanoandersen.dk>
> wrote:
>
>> Form�let var at finde den fulde fysiske sti til dine filer.
>
> Kan det ikke bare v�re http://mitdo�ne.dk/....

Nej, et eksempel er, at jeg p� min egen server, n�r jeg logger ind, 
bliver pr�senteret for en mappe med en undermappe dom�ne.dk, (Fuld sti 
via FTP: /dom�ne.dk/) men hvis jeg logger ind via ssh (Og f�r en 
kommando prompt p� maskinen) s� er stien /home/webdata/dom�ne.dk/dom�ne.dk/
Det er den sidste sti der er relevant n�r du skal angive en fuld sti i 
et script eller en ops�tningsfil.

- Chano Andersen
Re: Generel og specifikke 301 rediretcs sammen
#234
Author: Martin Larsen
Date: Mon, 28 Nov 2011 09:32
7 lines
2372 bytes
Chano Andersen wrote:

> Form�let var at finde den fulde fysiske sti til dine filer.

Jeg vil lige indskyde at jeg for nogle dage siden postede et indl�g hvor 
jeg skreve at RewriteMap desv�rre ikke virker i .htacces. S� det har 
ikke noget med stien at g�re.
Re: Generel og specifikke 301 rediretcs sammen
#235
Author: Martin Larsen
Date: Mon, 28 Nov 2011 14:03
11 lines
2523 bytes
Martin Larsen wrote:

> Idet jeg g�r ud fra at serveren underst�tter php er der en hel anden
> mulighed jeg kan komme ind p� senere. Har ikke tid i dag. Men kort sagt
> kan man lave et samarbejde mellem apache og php som g�r det.
>
> Alternativt kan du autogenerere .htaccess ud fra din liste, s� slipper
> du i det mindste for det manuelle arbejde. Det vil v�re ganske let.

Jeg vil gerne vide om du er interesseret i et l�sningsforslag som 
involverer PHP inden jeg bruger tid p� det :-)
Re: Generel og specifikke 301 rediretcs sammen
#236
Author: Preben Nielsen
Date: Mon, 28 Nov 2011 15:52
14 lines
2900 bytes
On 28 Nov., 15:03, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Jeg vil gerne vide om du er interesseret i et løsningsforslag som
> involverer PHP inden jeg bruger tid på det :-)

Ja, bestemt. Som nævnt er jeg blot ude på at mit tidsforbrug til at
implementere sådan løsning kan indebære en besparelse i forhold til at
lave det som enkeltlinje-redirects i .htaccess :-)
Og da jeg ikke selv kan skrive PHP, må du, hvis du går i gang, være
forberedt på en meget præcis "kogebogsopskrift".

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#237
Author: Preben Nielsen
Date: Tue, 29 Nov 2011 08:35
16 lines
3042 bytes
Et par tilføjelser:

Jeg har jo allerede lavet en redirects.txt sådan som du oprindelig
foreslog. Den indeholder alle enkeltlinje redirects. Den skulle gerne
kunne indgå i en ny løsning - det vil ikke give mening at skulle
starte forfra på den, idet det så vil tage mig lige så lang tid at
gøre det, som at tilføje det der mangler som enkeltlinje-redirects
i .htaccess, idet tingene fra redirects.txt relativt let kan
"oversættes" til brug i .htaccess.

Jeg har også tænkt, at med mindre du allerede er i fuld gang, og at
det ikke tager dig en masse tid, så er det måske ikke rimeligt at du
skal sidde og bruge en masse tid på at spare mig for en halv til en
hel dags arbejde...

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#238
Author: Martin Larsen
Date: Tue, 29 Nov 2011 08:52
8 lines
2411 bytes
Preben Nielsen wrote:

> Jeg har jo allerede lavet en redirects.txt s�dan som du oprindelig
> foreslog. Den indeholder alle enkeltlinje redirects. Den skulle gerne
> kunne indg� i en ny l�sning - det vil ikke give mening at skulle
> starte forfra p� den

Ja, det er meningen at den skal indg�.
Re: Generel og specifikke 301 rediretcs sammen
#239
Author: Martin Larsen
Date: Tue, 29 Nov 2011 14:03
9 lines
2433 bytes
Preben Nielsen wrote:

> Jeg har jo allerede lavet en redirects.txt s�dan som du oprindelig
> foreslog. Den indeholder alle enkeltlinje redirects.

Starter alle redirects p� samme m�de s�ledes at Apache kan afg�re at her 
er et redirect s� den kan sende selve redirectet videre?

Det vilg�re det mere effektivt.
Re: Generel og specifikke 301 rediretcs sammen
#240
Author: Preben Nielsen
Date: Tue, 29 Nov 2011 16:41
25 lines
3183 bytes
On 29 Nov., 15:03, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Starter alle redirects p samme m de s ledes at Apache kan afg re at her
> er et redirect s den kan sende selve redirectet videre?

Nej. I og med at filerne ligger i en del forskellige mapper, så
begynder nogle fx med
/artikler/
andre med
/billedsider/
osv
Og der er aktuelt ikke noget i redirects.txt, der fortæller at der er
tale om redirects. Ifølge din oprindelige opskrift var det jo denne
der skulle sørge for det:
RewriteMap redirects txt:/sti/til/redirects.txt
RewriteRule ^(.*)$ ${redirects:$1} [R=301,last]

> Det vilg re det mere effektivt

Hvordan det? Er det ikke sådan at enten virker et redirect eller også
gør det ikke?

Hvis det kan hjælpe, kan jeg jo godt tilføje et eller andet foran alle
linjer?
Re: Generel og specifikke 301 rediretcs sammen
#241
Author: Preben Nielsen
Date: Tue, 29 Nov 2011 17:21
8 lines
2609 bytes
Jeg googlede lige 301 redirects php for at læse lidt om det. Her står
på http://www.weborum.com/301-redirect.php:
"301 redirect through mod-rewrite in your .htaccess file
This is by far the best 301 redirect"

Er der forskel på kvaliteten af 301 redirects??? I givet fald hvilken?

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#242
Author: Martin Larsen
Date: Tue, 29 Nov 2011 19:22
5 lines
2334 bytes
Preben Nielsen wrote:

> Er der forskel p� kvaliteten af 301 redirects??? I givet fald hvilken?

Nej, ingen forskel.
Re: Generel og specifikke 301 rediretcs sammen
#243
Author: Martin Larsen
Date: Tue, 29 Nov 2011 19:27
26 lines
3037 bytes
Preben Nielsen wrote:

> Hvordan det? Er det ikke s�dan at enten virker et redirect eller ogs�
> g�r det ikke?


Jojo. Men som jeg skrev ville det v�re mest effektivt, jeg skrev ikke at 
det var en betingelse.

Sagen er jo den at hvis der er et m�nster kan Apache hurtigt afg�re om 
der skal redirectes, hvorefter den s� kan unders�ge _hvor_ der skal 
redirectes til.

Er der ikke noget m�nster m� den simpelten kigge p� alle url'er om de 
findes i listen. Dette tager en smule l�ngere tid.

Forst�r du hvad jeg mener?

Endvidere, findes nogle af url'erne der skal redirectes eller vil de 
alle give en 404 not found?

For i s� fald kan Apache lave et tjek p� om url'en findes og kun lave et 
lookup hvis den _ikke_ g�r. Igen, mere effektivt, men ikke strengt 
n�dvendigt.

Det handler jo om at finde en l�sning, men helst ogs� den rigtige l�sning :)
Re: Generel og specifikke 301 rediretcs sammen
#244
Author: Preben Nielsen
Date: Tue, 29 Nov 2011 21:16
47 lines
3911 bytes
On 29 Nov., 20:27, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:
> Preben Nielsen wrote:
> > Hvordan det? Er det ikke sådan at enten virker et redirect eller også
> > gør det ikke?
>
> Jojo. Men som jeg skrev ville det være mest effektivt, jeg skrev ikke at
> det var en betingelse.
>
> Sagen er jo den at hvis der er et mønster kan Apache hurtigt afgøre om
> der skal redirectes, hvorefter den så kan undersøge _hvor_ der skal
> redirectes til.
>
> Er der ikke noget mønster må den simpelten kigge på alle url'er om de
> findes i listen. Dette tager en smule længere tid.
>
> Forstår du hvad jeg mener?

Nej, desværre ikke.

> Endvidere, findes nogle af url'erne der skal redirectes eller vil de
> alle give en 404 not found?

Det forstår jeg heller ikke. - Men jeg er også hamrende træt lige
nu :-)

> For i så fald kan Apache lave et tjek på om url'en findes og kun lave et
> lookup hvis den _ikke_ gør. Igen, mere effektivt, men ikke strengt
> nødvendigt.
>
> Det handler jo om at finde en løsning, men helst også den rigtige løsning :)

Enig. Og jeg vil til enhver tid gerne bruge mere tid på noget der
virker bedre end noget andet, vil selvfølgelig gerne have den bedste
løsning.
Jeg ved ikke om en mindre effektiv/langsommere løsning vil påvirke
søgerobotterne. Et formål med redirects, udover at de besøgende skal
kunne komme til de nye sider via gamle links, er at det er optimalt
mht. SEO. Det er vigtigt.

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#245
Author: Martin Larsen
Date: Tue, 29 Nov 2011 21:32
6 lines
2372 bytes
Preben Nielsen wrote:

> Det forst�r jeg heller ikke. - Men jeg er ogs� hamrende tr�t lige
> nu:-)

Fint, s� tager vi den i morgen :)
Re: Generel og specifikke 301 rediretcs sammen
#246
Author: Preben Nielsen
Date: Thu, 01 Dec 2011 14:32
8 lines
2506 bytes
On 29 Nov., 22:32, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Fint, så tager vi den i morgen :)

Forstår stadig ikke...

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#247
Author: Martin Larsen
Date: Fri, 02 Dec 2011 09:58
7 lines
2275 bytes
Preben Nielsen wrote:

> Forst�r stadig ikke...

Du har heller ikke f�et en ny forklaring :)

Har haft sindssygt travlt, vender snart tilbage
Re: Generel og specifikke 301 rediretcs sammen
#248
Author: Preben Nielsen
Date: Fri, 02 Dec 2011 15:36
11 lines
2700 bytes
On 2 Dec., 10:58, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Har haft sindssygt travlt, vender snart tilbage

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 :-)

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#249
Author: 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.
Re: Generel og specifikke 301 rediretcs sammen
#250
Author: Preben Nielsen
Date: Thu, 08 Dec 2011 12:05
20 lines
3207 bytes
Mange tak for budet. Et par spørgsmål:

Er der i dit løsningsforslag inkluderet de tilfælde, som ikke er med i
redirexts.txt, men hvor de nye filer har samme navn og samme placering
i mappe-struktur, men hvor eneste forskel er, at .htm er udskiftet
med .php?

Mht, custom 404 fejlside, så har jeg lavet sådan en. Det er en php-
side, som indeholder includerede filer for header, menu og footer, og
så selvfølgelig en indholdsdel med min personlige 404-besked.
Hvordan indskrives den i dine koder, som jo tager udgangspunkt i en
noget enklere udformning af en fejlside?

Endelig et lidt mere teoretisk spørgsmål: Hvorfor er hele
udgangspunktet en fejlside i stedet for at være det som der faldes
tilbage på, hvis alt andet kikser? I min nuværende .htaccess står den
til sidst som
ErrorDocument 404 /404.htm

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#251
Author: Martin Larsen
Date: Thu, 08 Dec 2011 15:08
35 lines
3889 bytes
Preben Nielsen wrote:

> Er der i dit l�sningsforslag inkluderet de tilf�lde, som ikke er med i
> redirexts.txt, men hvor de nye filer har samme navn og samme placering
> i mappe-struktur, men hvor eneste forskel er, at .htm er udskiftet
> med .php?

Det kan man sagtens lave, men det kan ogs� g�res via den .httaccess som 
vi allerede har talt om. Hvis det regels�t er opfyldt, omstilles der til 
den tilsvarende php side uden at kalde fejldokumentet.

> Hvordan indskrives den i dine koder, som jo tager udgangspunkt i en
> noget enklere udformning af en fejlside?

Du skal bare inds�tte min kode som det allerf�rste i din eksisterende 
fejlside. Hvis betingelsen er opfyldt, omstilles til den p�g�ldende fil 
og scriptet forlades inden det n�r den resterende kode (alts� det som 
pt. er i din fejlside).

> Endelig et lidt mere teoretisk sp�rgsm�l: Hvorfor er hele
> udgangspunktet en fejlside i stedet for at v�re det som der faldes
> tilbage p�, hvis alt andet kikser? I min nuv�rende .htaccess st�r den
> til sidst som ErrorDocument 404 /404.htm

Jeg er ikke helt sikker p� at jeg forst�r dit sp�rgsm�l, men det er blot 
for at give php mulighed for at behandle foresp�rgsler p� filer som ikke 
findes. Uden nogen speciel styring ville de p�g�ldende url'er jo netop 
give en 404, s� ved at lade php klare den f�r den chance for at 
sammenligne med din redirects.txt. Alts� i princippet det samme som i 
mit f�rste forslag, bortset fra at det alts� ikke viste sig at v�re 
gyldigt i en .htaccess.

Det kan ogs� klare med et direktiv i stedet (RewriteCondtion). Men i 
begge tilf�lde handler det om at give php mulighed for at st� for 
omstillingen.
Re: Generel og specifikke 301 rediretcs sammen
#252
Author: Preben Nielsen
Date: Thu, 08 Dec 2011 17:18
38 lines
3692 bytes
On 8 Dec., 16:08, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:
> Preben Nielsen wrote:
> > Er der i dit løsningsforslag inkluderet de tilfælde, som ikke er med i
> > redirexts.txt, men hvor de nye filer har samme navn og samme placering
> > i mappe-struktur, men hvor eneste forskel er, at .htm er udskiftet
> > med .php?
>
> Det kan man sagtens lave, men det kan også gøres via den .httaccess som
> vi allerede har talt om. Hvis det regelsæt er opfyldt, omstilles der til
> den tilsvarende php side uden at kalde fejldokumentet.

Skal jeg forstå det som at min .htaccess dermed kommer til at se sådan
ud:

ErrorDocument 404 /redirect.php

RewriteRule ^(.*)\.htm$    $1.php  [R=301]

?

Hvis jeg forstår dig rigtig, så sker der det, at hvis en url ikke
findes som fil på serveren, så sørger din kode for at se om der er en
redirect fra url'en i redirects.txt. Og hvis der så ikke er en
redirect i redirects.txt, vil RewriteRule ^(.*)\.htm$    $1.php
[R=301] så derefter sørge for, at hvis man vil ind på
mappe4/filnavn.htm
og der findes en fil
mappe4/filnavn.php
på serveren, så vil der blive redirected fra
mappe4/filnavn.htm til mappe4/filnavn.php?
Og hvis ingen af disse ting er opfyldt, så kommer der en 404?
Er det sådan, eller hvad?

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#253
Author: Martin Larsen
Date: Thu, 08 Dec 2011 21:19
24 lines
2869 bytes
Preben Nielsen wrote:

> Skal jeg forst� det som at min .htaccess dermed kommer til at se s�dan
> ud:
>
> ErrorDocument 404 /redirect.php
> RewriteRule ^(.*)\.htm$    $1.php  [R=301]


Korrekt.

> Er det s�dan, eller hvad?

Ja, bortset fra at RewriteRule tjekker f�rst og viderestiller om 
n�dvendigt, derefter tjekkes der i redirects.txt.

Hvis der er vigtigt at r�kkef�lgen er omvendt, skal redirect.php i 
stedet kaldes med vha en RewriteCond.

Men umiddelbart lyder det som om de to betingelser er gensidigt 
udelukkende hvorved r�kkef�lgen skulle v�re uden betydning.

Med andre ord, r�kkef�lgen har kun betydning dersom der er match 
samtidig i b�de redirects.txt og i den generelle regel.
Re: Generel og specifikke 301 rediretcs sammen
#254
Author: Preben Nielsen
Date: Thu, 08 Dec 2011 22:23
53 lines
4233 bytes
On 8 Dec., 22:19, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Men umiddelbart lyder det som om de to betingelser er gensidigt
> udelukkende hvorved rækkefølgen skulle være uden betydning.
>
> Med andre ord, rækkefølgen har kun betydning dersom der er match
> samtidig i både redirects.txt og i den generelle regel.

OK. Der er ikke samtidigt match begge steder. Alle sider er unikke og
kommer derfor fra én url og skal henvises til én url.

Hvad med den tredje situation som jeg citerer mig selv for her?

On 21 Nov., 15:08, Preben Nielsen <p...@vinsiderne.dk> wrote:
> Der er dukket endnu et ønske op: Kan det lade sig gøre i et hug at 301
> redirecte alle filer fra én mappestruktur til nye filer i en anden
> mappestruktur, hvor filnavnene bortset fra extension er uændrede, OG
> hvor samtidig extension i de gamle filer er .htm og i de nye er .php?
> Fx filer, hvor mønsteret er
>
> /mappe_navn1/mappe_navn2/fil_1.htm /mappe_navn3/mappe_navn4/fil_1.php
> /mappe_navn1/mappe_navn2/fil_2.htm /mappe_navn3/mappe_navn4/fil_2.php
> /mappe_navn1/mappe_navn2/fil_3.htm /mappe_navn3/mappe_navn4/fil_3.php
>
> fremfor at redirecte hver enkelt fil som ovenfor i en linje for sig?

Hvor du svarer:

>Dette skulle kunne gøre det:

>RewriteRule ^/mappe_navn1/mappe_navn2/(.*)\.html$
>/mappe_navn3/mappe_navn4/$1.php  [R=301]

Vil den stadig gå med din nye kode? Og skal den placeres så .htaccess
bliver sådan her:

ErrorDocument 404 /redirect.php

RewriteRule ^(.*)\.htm$    $1.php  [R=301]

RewriteRule ^/mappe_navn1/mappe_navn2/(.*)\.html$
/mappe_navn3/mappe_navn4/$1.php  [R=301]

?

Eller skal rækkefølgen være anderledes?

Det gælder stadig, at én gammel url skal redirecte til én ny url
(bortset fra, at jeg nok vil lade udgåede urls henvise til basislink).

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#255
Author: Preben Nielsen
Date: Fri, 09 Dec 2011 07:21
16 lines
2859 bytes
Første test udført, hvor jeg har nøjedes med den første del, altså med
denne .htaccess:

ErrorDocument 404 /redirect.php

Min fejlside udløses som den skal, men når jeg går ind på en
eksisterende url, som der er lavet redirect til i redirects.txt, så
sker der intet redirect; jeg kommer blot ind på den indtastede url.

Både redirect.php og redirects.txt har jeg lagt i roden af sitet, dvs.
samme sted som min index.htm fil befinder sig.

Hvad kan der være galt?

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#256
Author: Martin Larsen
Date: Fri, 09 Dec 2011 08:51
8 lines
2499 bytes
Preben Nielsen wrote:

> Hvad kan der v�re galt?

Pr�v at inds�tte denne linje allerf�rst i redirects.php og paste 
indholdet her.

<?PHP echo "<pre", print_r($_SERVER, 1) . "</pre>"; exit; ?>
Re: Generel og specifikke 301 rediretcs sammen
#257
Author: Preben Nielsen
Date: Fri, 09 Dec 2011 13:14
18 lines
2999 bytes
On 9 Dec., 09:51, Martin Larsen <martin+spamfree+lar...@bigfoot.com>
wrote:

> Prøv at indsætte denne linje allerførst i redirects.php og paste
> indholdet her.
>
> <?PHP echo "<pre", print_r($_SERVER, 1) . "</pre>"; exit; ?>

Der sker stadig ingen redirect, og nu vises 404-siden ikke ved ikke
eksisterende fil, men derimod en længere smøre, hvoraf du får de
første par linjer:

TuIJIsP5KKIAAEH8lRwAAAAP [REDIRECT_REQUEST_METHOD] => GET
[REDIRECT_STATUS] => 404 [UNIQUE_ID] => TuIJIsP5KKIAAEH8lRwAAAAP
[HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/x-shockwave-flash

/Preben
Re: Generel og specifikke 301 rediretcs sammen
#258
Author: Martin Larsen
Date: Fri, 09 Dec 2011 13:55
12 lines
2686 bytes
Preben Nielsen wrote:

> Der sker stadig ingen redirect, og nu vises 404-siden ikke ved ikke
> eksisterende fil, men derimod en l�ngere sm�re, hvoraf du f�r de
> f�rste par linjer:

Det er helt som det skal v�re, da det er en debug melding jeg har indsat.

Jeg har faktisk brug for at f� hele sm�ren!

Hvis der skulle v�re enkelte linjer du ikke vil have afsl�ret, s� erstat 
dem bare med XXX etc.
Page 1 of 2 • 55 total messages
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads