לכללים של וורדפרס יש יוצאים מן הכלל

אפאצ'י
זמן קריאה: 2 דקות

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

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

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

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

נושא מעניין נוסף הוא מה קורה בקובץ .htaccess בשרת האפצ'י שלך. וורדפרס צריכה לשכתב שבילים על בסיס בלוג אחר בלוג ועושה זאת עם כלל שכתוב וקובץ php.

וורדפרס משתמש בכלל השכתוב הבא:

RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? קבצים /(.+) wp-includes / ms-files.php? File = $ 2 [L]

בעיקרו של דבר, כל מה שנמצא בספריית משנה של mysite.com/files/directory נכתב מחדש ל- mysite.com/files/wp-includes/myblogfolderpath… וכאן זה נהיה מעניין. מה קורה אם אתה באמת צריך שיהיה לך קובץ בשרת שלך mysite.com/files/myfolder/myimage.jpg? אתה מקבל שגיאת 404, זה מה שקורה. הכלל לשכתוב Apache מתחיל ומשנה את הנתיב.

נכון, אולי לעולם לא תיתקל בבעיה זו, אבל אני כן. היה לי אתר שצריך להשתמש בווידג'ט JavaScript מאתר אחר, והוא צריך למצוא גרפיקה ב mysite.com/files/Images/myfile. מכיוון שלא הייתה שום דרך לשנות את הקובץ באתר המארח, הייתי צריך למצוא דרך לעשות זאת בשרת שלי. הפיתרון הקל הוא ליצור תנאי שכתוב שיוצר חריג לקבצים ספציפיים.

הנה הפתרון:

RewriteCond% {REQUEST_URI}! /? Files / Image / file1.jpg $
RewriteCond% {REQUEST_URI}! /? Files / Image / file2.jpg $
RewriteRule ^ ([_ 0-9a-zA-Z -] + /)? קבצים /(.+) wp-includes / ms-files.php? File = $ 2 [L]

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

מה אתה חושב?

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