WPML

אם WPML אינו מאפשר לך לבחור ספריות שפות (לדוגמה http://example.com/es/ עבור ספרדית), זה מפני שהוא ניסה לגשת ל־URL הזה וקיבל שגיאה. הנה מה שתוכל לבדוק כדי להבטיח שספריות שפות יפעלו.


הנה מה שעליך להגדיר כדי שספריות שפות יפעלו:

  1. הפעל שכתוב URL.

  2. אפשר ל־WordPress גישת קריאה וכתיבה לתיקיות.

  3. ודא שהאתר שלך משתמש במבנה קישורים קבועים "יפה".

כפי שניתן לראות, אין צורך ליצור ספריות פיזיות בשרת. הבחירה להציג שפות בספריות מתאפשרת באמצעות שכתוב ה־URL.

כיצד WPML קובע אם הוא יכול להפעיל שפות בספריות


WPML מנסה לגשת לקריאת בדיקה שבודקת אם שפות בספריות יפעלו. קריאת בדיקה זו היא:
yourdomain/LANGUAGE/?____icl_validate_domain=1

לדוגמה, כדי לבדוק אם ספרדית מופעלת עבור הדומיין שלנו (wpml.org), נעבור ל־URL הבא בדפדפן שלנו:

http://wpml.org/es/?____icl_validate_domain=1

כאשר תעשה זאת, תקבל עמוד שנראה ריק. לחץ לחיצה ימנית על העמוד ובחר הצג מקור דף (View Page Source). עליך לראות את התוכן הבא:

<!--http://wpml.org-->

זה אומר ל־WPML ש־WordPress מאפשר גישה למבנה URL זה. אם הקריאה עוברת, WPML יאפשר שימוש בשפות לפי ספריות. אחרת, תקבל הודעה כלשהי ש(פחות או יותר) מסבירה מהי הבעיה.

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

חשוב: WPML ניגש ל־URL של האימות על ידי ביצוע קריאת fopen אליו. בדרך כלל, זה דומה למה שעושים דפדפנים, אך לא זהה. ודא ש־fopen מופעל בשרת שלך. תוכל להוסיף את הקוד הבא לקובץ התצורה של PHP שלך כדי לוודא שהוא אינו חסום:

SecFilterEngine Off

ודא ש־WordPress מאפשר שכתוב URL


כדי להפעיל שכתוב URL, WordPress יוצר קובץ בשם .htaccess בתיקייה שבה הוא מותקן. WordPress יוצר קובץ זה אם אתה משתמש במשהו שאינו כתובות ה־URL של ברירת המחדל. קובץ זה אמור להכיל את התוכן הבא:
# BEGIN WordPress

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /index.php [L]

</IfModule>

# END WordPress

אם הוא אינו קיים, נסה ליצור אותו. אם הוא קיים אך ריק, העתק את התוכן הזה ושמור.

מה המשמעות של היכולת לשכתב כתובות URL?


שכתוב URL הוא מנגנון מורכב, שנמצא בשימוש אינטנסיבי על ידי WordPress. כדי שזה יעבוד, שרת האינטרנט (בדרך כלל, Apache) חייב להיות מסוגל לשכתב כתובות URL, ול־WordPress חייבת להיות הרשאה לנהל את הלוגיקה של השכתוב.

ב־Apache, mod-rewrite מבצע שכתוב URL. זהו מודול די סטנדרטי שמופעל כברירת מחדל. אם אתה משתמש ב־Apache ואינך יכול להפעיל ספריות שפות, בדוק ש־mod-rewrite פעיל עבור האתר שלך. אם אינך בטוח כיצד לעשות זאת, שלח דוא"ל לספק האחסון שלך. תוכל להשתמש בטקסט הזה:

שלום רב!

תוסף WordPress שאני רוצה להשתמש בו דורש שהמודול mod-rewrite יהיה מופעל. האם תוכלו בבקשה לבדוק עבורי ולהגיד לי אם mod-rewrite מופעל עבור האתר שלי? http://example.com


בהנחה שהוא מופעל, WordPress צריך כעת להיות מסוגל לשלוט בכללי כתיבת ה־URL. כדי שזה יקרה, WordPress חייב להיות מסוגל לכתוב לתיקייה שבה הוא מותקן.

ודא של־WordPress יש גישת קריאה וכתיבה לתיקיות


שוב, אם אתה משתמש ב־Apache, ברר תחת איזה משתמש Apache פועל ואפשר למשתמש זה גישת קריאה וכתיבה לתיקייה שבה WordPress מותקן. תוכל לעשות זאת באמצעות תוכנת ה־FTP שלך, דרך מעטפת (shell) או באמצעות דוא"ל.
שוב שלום,

אני צריך טובה נוספת. התקנתי את WordPress בספרייה זו:

YOUR_WP_INSTALL_DIRECTORY

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


כעת, בדוק שוב.
האתר שלך צריך להשתמש במבנה קישורים קבועים "יפה". תוכל לשנות את מבנה הקישורים הקבועים של האתר שלך בהגדרות WordPress.

פתרון בעיות


אם אתה משתמש ב־CDN, כגון Cloudflare, ייתכן שהוא יחסום שפות בספריות מלפעול כראוי על ידי הסרת הערות HTML. כתוצאה מכך, ייתכן שתראה שגיאה מסוג חיובי כוזב (false-positive), המציגה אזהרה הקשורה ל־?____icl_validate_domain=1 ללא כל בעיות בצד הלקוח.

זקוק לעזרה?


אם זה עדיין אינו פועל, אנא פתח פנייה בתמיכת WPML.

נכתב על ידי Amir · עודכן לאחרונה: 18 באוקטובר 2024