Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Ändern eines Teils einer url in sql

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von max_dreirad, 18 Mai 2016.

  1. max_dreirad

    max_dreirad Neuer Benutzer

    Hi,
    Ich habe folgendes Problem:
    Ich habe eine Wordpress-Seite, bei der es einen Mitgliederbereich gibt. In diesem Bereich sind verschiedene PDFs (280 Stück!!!) verlinkt und der Bereich ist natürlich gesperrt. Jetzt ist es aber so, dass google leider die PDFs indexiert hat, weil ich dummerweise vergessen habe, die robots.txt zu ändern...
    Auf jeden Fall würde ich mir gerne die Arbeit ersparen die PDFs zu löschen und neu sicher hochzuladen, jetzt hätte ich mir gedacht, ich kopiere sie alle in einen anderen Ordner und tausche die urls zu den Dateien in der Datenbank aus. Leider liegen sie alle in verschiedenen Ordnern, nachdem sie über mehrere Monate hochgeladen wurden.
    Geht es generell irgendwie? Also quasi in wp_postmeta alle meta_value wo .pdf vorkommt ein "2015/04/" in ein "safe/" zu ändern und den Rest der urls aber gleich zu lassen?
    Sorry, falls ich mich nicht klar ausgedrückt habe...
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Geht prinzipiell, aber mit den Bordmitteln von MySQL wird es schwer - es hat kein regexp_replace() oder ähnlich vergleichbar mächtige Funktionen für sowas.
     
  3. max_dreirad

    max_dreirad Neuer Benutzer

    also mit Umweg über php?
     
  4. akretschmer

    akretschmer Datenbank-Guru

  5. Dukel

    Dukel Datenbank-Guru

    Die Daten werden aber trotzdem im Index sein und um Cache verfügbar sein. Ich würde eher schauen, ob ich Google dazu bekomme die Daten aus dem Index zu löschen.
    Wie kam denn Google an die Pdfs, wenn diese gesichert waren?
     
    Walter gefällt das.
  6. max_dreirad

    max_dreirad Neuer Benutzer

    Ok, ich werd's mit dem Umweg über php probieren. Hatte ich eh vor, aber ich wollte fragen ob es da eine direkte Variante im MySql gäbe, die ich nicht kenne...
     
  7. ukulele

    ukulele Datenbank-Guru

    Wiso sollte das nicht ganz einfach gehen?
    Code:
    UPDATE wp_postmeta SET meta_value = replace(meta_value,'2015/04/','safe/') WHERE meta_value LIKE '%.pdf%'
     
    Walter gefällt das.
  8. Walter

    Walter Administrator Mitarbeiter

    In Ergänzung zu dem SQL von Ukulele möchte ich anknüpfen an die Frage von @Dukel - es gibt auch Suchmaschinen, die die robots.txt ignorieren, eine robots.txt ist kein Schutz vor unbefugtem Zugriff! Du musst Dich um passende Berechtigungen kümmern.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden