Na het verplaatsen van een WordPress blog naar een andere server op een ander domein, werken de afbeeldingen en links niet meer.. Reden: in de broncode wordt naar de absolute url verwezen in plaats van de relatieve.
Wat te doen? Alles handmatig aanpassen? Natuurlijk niet!
De oplossing blijkt simpeler dan gedacht. In MySQL zit namelijk ook gewoon een find-and-replace functie. Door in de posts het oude domein te vervangen door de nieuwe is het probleem opgelost.
Via dit sql commando (uit te voeren in bijvoorbeeld phpMyAdmin) is dit heel makkelijk op te lossen:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.oudedomein.com', 'http://www.nieuwedomein.com'); |
En met 1 klik op de knop is een probleem opgelost wat je anders misschien wel uren had gekost..!
Deze functie werkt natuurlijk ook voor andere problemen waarbij er in een MySQL tabel tekst vervangen moet worden:
UPDATE tabelnaam SET veldnaam = REPLACE(veldnaam, 'te vervangen tekst', 'vervangende tekst'); |
4 jaar ago ·
Een late reactie bij het zoeken naar een oplossing. Ik wil het ‘ teken weg uit de naam d’Haene bijvoorbeeld.
Dit: UPDATE `rouwbrief` SET `Naam`= ‘D’ WHERE ‘Naam’ LIKE ‘%D’%’
geeft foutmelding, hoe kan ik het oplossen?
5 jaar ago ·
Als de te vervangen tekst niet eenduidige is, b.v. ‘eerste tekst’ en ’tweede tekst” moeten allebei ‘nieuwe tekst’ worden. Dan kun je met LIKE ‘%tekst%’ de functie nog wat uitbreiden:
UPDATE tabelnaam
SET veldnaam = ‘nieuwe tekst’
WHERE veldnaam LIKE ‘%tekst%’
13 jaar ago ·
Hartelijk bedankt!
Dit is precies wat ik zocht en scheelt me heel veel tijd.
14 jaar ago ·
Goed om te horen Steven! Hou deze site in de gaten voor meer handige tips..
14 jaar ago ·
Precies wat ik nodig had, bedankt!