Legge WP i statisk cache

Kategori overført fra Linux1

Legge WP i statisk cache

Innleggav Moldarin » fre 14.09.2007 12:53

Hei,

Jeg ser etter hjelp til å få til noe litt spesielt her.

Jeg har en WordPress nettside, men skulle gjerne kopiert alle sider fra denne og lagret de i en statisk cache som .html dokuementer.

Har noen forslag på hvordan jeg kan løse dette? Trolig må jeg bruke curl eller wget som cron jobber. Forslag?

(Bare for å gjøre det klart: Det er snakk om min egen side. Vil ha statisk HTML fordi nyere utgaver av WordPress har blitt så veldig tregt.)
Sist endret av Moldarin den fre 14.09.2007 13:57, endret 1 gang

Brukerens avatar
medlem i 221 måneder
 

Innleggav olear » fre 14.09.2007 13:03


Erfaren
Brukerens avatar
medlem i 226 måneder
 

Innleggav Moldarin » fre 14.09.2007 14:33

Jeg måtte gjøre fem endringer i koden på siden min, så fungerte denne:

Kode: Merk alt
wget

--mirror
--cache=off
--no-parent
--relative
--wait=2
--waitretry=10
--tries=5
--timeout=120
--no-host-directories
--HTML-extension
--user-agent=wget
--referer=/cache-engine/
--output-file=/public_html/webdesign/wget_mirroring.log
http://domain.com/-/


Takk for hjelpen. Jeg leste noen slike mirror sider, men dine var mye bedre enn hva jeg fant med Guugleé.

Brukerens avatar
medlem i 221 måneder
 

Innleggav Moldarin » fre 14.09.2007 20:51

Jeg har en del problemer med dette, fant jeg ut.

Si jeg kjører den statiske siden min på / og har WP kjørende på /-/. Jeg klarer å hente ned alle sider, men de blir alltid lagret statisk på /-/. Hvordan endrer jeg sånn at den aller første mappenivået blir ignorert?

Oppdatering: Jeg har funnet en work-around som ikke worker. Jeg kan kjøre siden fra et helt annet domene å hente over. Problemet er at jeg har angitt <base> til det faktiske domenet. Dette gjør at det eksterne domene ikke fungerer derifra.

Andre forslag?

Brukerens avatar
medlem i 221 måneder
 

Innleggav TO » fre 14.09.2007 23:38

Mulig jeg ikke forstår, men hvis URL ikke stemmer helt så kan kanskje gode gamle sed være midt i blinken. Hvis det skal endres i mange filer kan det se slik ut, merk uprøvd:
Kode: Merk alt
for file in *.html
do
        sed --in-place=bak  -e 's#BASE#erstattning#g' "$file"
done

Hvis du har brukt wget, så ville jeg lett etter en opsjon for tilsvarende. Dette bør jo være en kjent problemstilling for wget-brukere og utviklere.
medlem i 212 måneder
 

Innleggav Moldarin » fre 14.09.2007 23:49

OKi. Prøver å beskrive godt:

Siden ligger på http://noeannet.com/. Dokumentet har alle URLer som /relative/adresser/ og har <base href="http://domenet.com/">. Dermed bør det fungere utmerket på http://domene.com/. MEN problemet er at jeg skal generere cachen på http://noeannet.com/. $ wget leser base URLen i dokumentet og feiler derfor.

How to fix?

Brukerens avatar
medlem i 221 måneder
 

Innleggav TO » fre 14.09.2007 23:58

Med referanse til olears lenke på wget, kanskje denne gjør jobben: --convert-links
medlem i 212 måneder
 

Innleggav Moldarin » lør 15.09.2007 0:02

TO skrev:--convert-links

Nei. Den legger til http://domene.com/ forran alle lenker. Jeg vil ha relative lenker og absolutt <base>.

Brukerens avatar
medlem i 221 måneder
 

Innleggav TO » lør 15.09.2007 0:09

Vel, hvis det er kun slike små tekststrenger du skal endre, de klassiske verktøyene er: sed, awk og perl.
medlem i 212 måneder
 

Innleggav Moldarin » lør 15.09.2007 0:14

Problemet er jo at jeg ikke får lastet det ned i det heletatt pga. <base>. :-P

Kan jeg enkelt sette inn et linjebrudd, to tabs, og ‘<base … >’ med noe basisk verktøy? Alt dette skjer på delt oppvertning hos tredjepart. Er stor begrensning på hvilke verktøy som er tilgjengelig.

Brukerens avatar
medlem i 221 måneder
 


Returner til Utvikling i Linux



Hvem er i Forumene

Registrerte brukere: Ingen registrerte brukere