25
באוג
2010

תמונות נעלמות בבלוג וורדפרס אחרי שדרוג MU. מה לעשות?

מאת: מאור ברזני | תגובות: 14 | נושאים: וורדפרס
תגיות: , , |

מדריך קצר ופשוט ובו נלמד כיצד לפתור את הבעיה של תמונות פוסטים שנעלמו ולא מוצגות בבלוגים ברשת בלוגים, לאחר שדרוג של וורדפרס מו (MU) לגרסה החדשה.

התופעה

לאחר שדרוג גרסת וורדפרס מו (MU) לגרסה 3 (או 3.0.1 כבר) התמונות בבלוגים השונים נעלמות ולא מוצגות יותר. כשבודקים את קוד המקור של העמוד שנוצר, רואים גם שההפניה היא לנתיב רשת שגוי, שמן הסתם לא יימצאו בו התמונות.

הסבר לתופעה

בגרסת וורדפרס מו (MU) לריבוי אתרים, ששולבה יחד עם גרסת וורדפרס הרגילה החל מגרסה  (מולטי סייט)3,  קיימת תיקייה בשם blogs.dir מתחת לתיקיית wp-contnet. תיקייה זו מכילה תיקיות משנה עם מספרי הבלוגים, ובתוכן נמצאות בין השאר גם התמונות השונות השייכות לפוסטים של כל בלוג.

עד גרסה 3, היה קיים קובץ בשם blogs.php, שהיה ממוקם גם הוא בתיקיית wp-contnet, והיה אחראי לניתוב אל התיקייה המתאימה כדי להציג את את התמונות של כל פוסט בכל בלוג ובלוג ברשת האתרים.

החל מגרסה וורדפרס 3 מולטי סייט (multi site), הקובץ blogs.php הוצא משימוש, ובמקומו נכנס לשימוש הקובץ ms-files.php שנמצא בתיקיית wp-includes.

הפיתרון

כדי לשחזר חזרה את כל התמונות בבלוג שלכם עליכם לבצע 4 פעולות פשוטות.

  1. לוודא שהקובץ החדש ms-files.php קיים ונמצא בתיקיית wp-includes
  2. למחוק את הקובץ blogs.php מתיקיית wp-content , מאחר שכאמור הוא כבר אינו רלוונטי (כמובן, שכמו תמיד, מומלץ בשלב ראשון לשנות לו את השם או לגבות אותו בצד ורק לבסוף למחוק אותו)
  3. בתיקייה הראשית של וורדרפס, קיים קובץ הגדרות השרת בשם .htaccess (שימו לב – הנקודה היא בתחילת שם הקובץ). יש להכין העתק של הקובץ לגיבוי, ולאחר מכן לבצע בקובץ את השינוי הזה:
    לאתר את השורה הבאה בקובץ ולמחוק אותה:

    [ccwn_html]
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-content/blogs.php?file=$2 [L]
    [/ccwn_html]

    במקומה, באותו המקום בדיוק, להכניס את השורה הזו:
    [ccwn_html]
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L][/ccwn_html]

  4. לאחר מכן יש לגשת לממשק הניהול של האתר הראשי במערכת וורדפרס שלכם, ושם תחת התפריט קישורים ישירים יש לבצע פשוט שמירה של העמוד בלי לבצע שם שינויים נוספים. ביצוע השמירה הזה מרענן את קובץ ה rewrites  ומחיל את השינוי.

לאחר ביצוע פעולות אלה, התמונות שלכם אמורות לחזור ולהיות מוצגות שוב בכל אתרי וורדפרס שברשת שלכם.


שתפו גם אחרים:
  • email
  • Print
  • RSS
  • Facebook
  • Twitter
  • LinkedIn
  • Google Bookmarks
  • Live
  • PDF
  • MySpace
  • del.icio.us
  • Digg
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Add to favorites

14 תגובות »

  • רן בר-זיק הגיב:

    אין כמו התקלות החביבות האלו שגורמות לך להיות ער במשך חצי לילה ולאכול לעצמך את הרגל… 🙂

  • יאיר הגיב:

    בשלב 3
    אין לי את השורה הזאת
    השורה הדומה ביותר לזה – ניראית ככה
    RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
    .-= פורסם לאחרונה אצל יאיר.. מזמור לדוד יי אורי וישעי =-.

  • יאיר הגיב:

    אם הבנתי נכון אז החלפתי את האיזכור של blogs.php ב ms-files.php

    תיכף אבדוק אם זה עובד

  • יאיר הגיב:

    הפיתרון הנ"ל לא עבד
    ניסיתי גם להחליף את כל השורה המוזכרת לעיל וגם לא עבד

    אגב
    אם נכנסים לעריכת תמונה – דווקא רואים את התמונה

    כנראה שקובץ .htaccess שלי והקובץ שלך לא זהים

    • את השורה שלך שציינת שמופיעה אצלך –
      RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
      תמחק ובמקומה תשים את כל השורה שצריך להחליף אותה.

      חשוב אחרי זה לבצע את שלב 4 – והוא בממשק הניהול להיכנס לאתר הראשי ולבצע שמירה של הקישורים הישירים.

      השורה הזו היא לא ספציפית לאתר שלי, אלא חייבת להופיע בהתקנה של WP3 מרובה אתרים, לטובת ההפניות הנ"ל.

      אם אחרי זה עדיין לא עובד לך, תבדוק בפיירבאג באתר עצמו מה הנתיב שהוא מנסה לקרוא ממנו את התמונה ונראה משם מה אפשר לעשות.
      .-= פורסם לאחרונה אצל מאור ברזני.. ‫תמונות נעלמות בבלוג וורדפרס אחרי שדרוג MU מה לעשות‬ =-.

      • יאיר הגיב:

        אין מה לעשות עם פיירבאג כי פיירפוקס הוא דפדפן חכן אז הוא מעלים סימני תמונה שלא מוצגת
        לכן אתן לך את נתוני התמונה מתוך עורך הפוסט
        התמונה רשומה כך
        http://wpr.temoni.org/files/2010/08/4.jpg
        כנראה שהוא עדיין מפנה למסלול
        wp-content/blogs.dir

        עשיתי את שלב ארבע
        גם עשיתי שיפט קונטרול דליט כדי למחוק קאש
        מ

  • יאיר הגיב:

    זה תוכן הקובץ אצלי אחרי שינוי
    RewriteEngine On
    RewriteBase BASE/

    RewriteEngine On
    RewriteBase BASE/

    #uploaded files
    RewriteRule ^(.*/)?files/$ index.php [L]
    RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-content/blogs.php?file=$2 [L]

    # add a trailing slash to /wp-admin
    RewriteCond %{REQUEST_URI} ^.*/wp-admin$
    RewriteRule ^(.+)$ $1/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . – [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

    SecFilterEngine Off
    SecFilterScanPOST Off

  • יאיר הגיב:

    בדיקה העלתה שהיא אכן ממשיכה לשים את הקבצים במסלול הישן
    כלומר
    /http://wpr.temoni.org/wp-content/blogs.dir/1/files/2010/08/4.jpg

    זה המיקום הפיזי שלה

  • @יאיר –
    ראשית, בעזרת פיירבאג אתה כן יכול לראות היכן הוא מחפש את התמונה שהוא לא מוצא ולראות את הנתיב שלה. אבל לא משנה כרגע.

    שנית, קובץ ה htaceess. שלך לא עודכן כמו שכתוב בפוסט הזה.
    שים לב לשורה 8 אצלך –
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-content/blogs.php?file=$2 [L]
    היא בדיוק השורה שאותה כתבתי שיש למחוק ולהחליף.

    לאחר שאתה עושה את זה ומחליף אז יש לבצע גם את סעיף 4.

    אחרי זה התמונות יחזרו.
    .-= פורסם לאחרונה אצל מאור ברזני.. ‫תמונות נעלמות בבלוג וורדפרס אחרי שדרוג MU מה לעשות‬ =-.

  • יאיר הגיב:

    עשיתי גם עשיתי + שלב 3 + שלב 4 + מחיקת קאש ואין שינוי

    ככה נראה הקובץ שלי לפני עריכה

    RewriteEngine On
    RewriteBase BASE/

    #uploaded files
    RewriteRule ^(.*/)?files/$ index.php [L]
    RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
    RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]

    # add a trailing slash to /wp-admin
    RewriteCond %{REQUEST_URI} ^.*/wp-admin$
    RewriteRule ^(.+)$ $1/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule . – [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

    SecFilterEngine Off
    SecFilterScanPOST Off

  • יאיר הגיב:

    והוא עדיין מעלה את הקבצים למיקום המסורתי – ככה זה אמור להיות?
    wpr/wp-content/blogs.dir/1/files/2010/08

    • כן, המיקום של הקבצים לא משתנה.
      רק הקובץ שמטפל בקריאה אליהם.

      כל עוד השורה הזאת עדיין מופיעה בקובץ שלך –
      RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]

      אז לא תראה את התמונות בגרסה 3 מולטי סייט.
      .-= פורסם לאחרונה אצל מאור ברזני.. ‫תמונות נעלמות בבלוג וורדפרס אחרי שדרוג MU מה לעשות‬ =-.

      • יאיר הגיב:

        שלום מאור וחג שמח

        עדיין לא הצלחתי להציג תמונות
        אולי תוכל לצרף כאן את הקובץ המעודכן?

        (אגב אתה ציינת ששם הקובץ צריך להיות .htaccess ואצלי הוא היה בשם htaccess.dist והחלפתי אותו ל .htaccess אם זה בסדר?

        זה תוכן הקובץ שלי אחרי עריכה שנראה כך
        RewriteEngine On
        RewriteBase BASE/

        #uploaded files
        RewriteRule ^(.*/)?files/$ index.php [L]
        RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
        RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

        # add a trailing slash to /wp-admin
        RewriteCond %{REQUEST_URI} ^.*/wp-admin$
        RewriteRule ^(.+)$ $1/ [R=301,L]

        RewriteCond %{REQUEST_FILENAME} -f [OR]
        RewriteCond %{REQUEST_FILENAME} -d
        RewriteRule . – [L]
        RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
        RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
        RewriteRule . index.php [L]

        SecFilterEngine Off
        SecFilterScanPOST Off

פיד RSS לתגובות בפוסט | טראקבק


הוסף תגובה ל יאיר

CommentLuv badge

TechnoCraft - פתרונות אינטרנט


אֶקְסְפֶּרִימֶנְט דוֹט אֶפֶס - וורדפרס, תוכן, טכנולוגיה ועוד כמה דברים - מופעל באמצעות WordPress | פתרונות אינטרנט