xhtml ssi מפת האתר דף ראשי

«
«
«
«
«
«
ראשי  » אפאצ'י  » הפניה מחדש\קישור סימבולי

מאמר 5: שימוש ב-Redirect / Symbolic Link
( הפניה-מחדש/קישור סימבולי)

5.1 הקדמה

שאלה: הדפסתי 20,000 עותקים של דף פרסום ( פלייר ) עם כתובת אינטרנט שגויה. במקום http://myparty.com/party/june.html הודפס http://myparty.com/june/myparty.html
מה אעשה???

תשובה: במקום להדפיס מחדש את הפליירים שלך תוכל להשתמש ב- redirct או קישור סימבולי ( symbolic link ).
redirect שולח מסר לשרת לשלוח קובץ שונה מהקובץ שהמשתמש ביקש. הכתובת בחלון הדפדפן תהיה הכתובת החדשה ולכן כדאי להשתמש בה אם תרצה בעתיד שהצופים שלך יעברו לכתובת החדשה (ישירות).
מצד שני, קישור סימבולי יוצר את האשליה שהעמוד שנתבקש כולל את המידע שמופיע בחלון הדפדפן, אך הוא בעצם מצביע לקובץ אחר במערכת, שם המידע מאוחסן באמת.
במילים אחרות, בעזרת קישור סימבולי, אתה נראה כאילו שאתה נמצא במקום אחד כשבעצם אתה נמצא במקום אחר. בעזרת redirect, אתה עצמך נדחף למקום חדש ואתה מודע לעובדה זו (כמובן אם תשומת הלב שלך אינה סוטה…).
במצב שלך, הייתי משתמש ב- redirect מצד השרת, כדי שהצופים שלך יסמנו בסימניה את המקום הנכון של האתר שלך.

 

5.2 הפנייה מחדש (Redirect )

מה קורה במקרה כזה?
כאשר השרת מקבל URL אשר הופנה מחדש, הוא שולח קוד שגיאה (301, ליתר דיוק), יחד עם המקום החדש, ללקוח, אשר שולח חזרה בקשה ל- URL החדש. המשתמש אינו מבחין בשום דבר חריג עד שהעמוד מוגש עם כתובת שונה מהכתובת שהוא הדפיס.

אך כדי שזה יקרה, עליך לומר לשרת מה לעשות.
התהליך משתנה על פי סוג השרת והקונפיגורציה שלו. בדר"כ אתה נותן לשרת את פקודת ההפנייה-מחדש, וכמו כן את הנתיב הישן והנתיב החדש. אם אתה משתמש ב- ISP כדי לארח את העמודים שלך, תוכל למקם מידע זה בספריית הבית שלך, בקובץ בשם htaccess. , אך יש לבדוק איתם קודם.
באמצעות Unix, זה ייראה כך:
Redirect pathname url

בדוגמא זו, pathname הוא המיקום הישן ו- URL הוא המיקום החדש.
אם ה- ISP אינו מאפשר זאת או שאתה מריץ שרת משלך, תוכל לשים את המידע באחד מקבצי הקונפיגורציה של השרת. שרתי אפאצ'י ו- NSCA שומרים מידע זה בקובץ הקונפיגורציה של המשאבים (srm.conf).
לשרתי CERN יש קובץ קונפיגורציה אחד בלבד, והוא יכלול מספר לא מוגבל של הנחיות.

הנחיית ההפניה-מחדש היא חלק מכללי תרגום בהם משתמש השרת בקביעת אופן הטיפול בבקשה. הפורמט לפונקצית ההפניה-מחדש של CERN הוא:
Redirect expression url
זה עובד בדומה לדוגמא דלעיל: expressim הוא המיקום הישן, URL הוא המיקום החדש.

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

אם website הוא השרת שלך, תוכל ליצור פקודת הפניה מחדש מחלון מאפייני השרת באזור המיפוי. בחר Redirect והדפס את הנתיב הישן ואת הנתיב החדש. אתה גם יכול לקבוע פקודת הנחייה מחדש מ- Webstar למקינטוש או חלונות באמצעות plug-in אשר יוצר קובץ RAW בספריה המרכזית.

 

5.3 קישור סימבולי (Symbolic link )

אם הנ"ל מסובך מדי או אתה רוצה ליצור למשתמשים את האשליה שהם נמצאים בכתובת מסוימת למרות שאינם נמצאים שם, תוכל ליצור קישור סימבולי - בתנאי שיש לך מיומנויות Unix בסיסיות. באמצעות הפקודה s - ln, תיצור קישור סימבולי או וירטואלי לעמוד הנכון. פונקציה זו היא כ"כ שימושית שאם יש לך אתר ואתה רוצה שהמשתמשים ישתמשו באותו URL, אבל יקבלו את המידע המעודכן ביותר, תוכל להשתמש בה.
ב- HotWired אנו משתמשים בה הרבה. למשל בעת הקלדת: /http://www.webmonkey.com/geektalk
תמיד תגיע למדור Geek Talk המעודכן ביותר, אפילו שהקבצים בהם אתה צופה בעצם נמצאים בספריה אחרת.

להלן דוגמא:
צור ספריה בשם mkdir june :June.
הקלד ספריה זו יחד עם פקודה לשינוי ספריה: cd june
כעת, צור קישור ע"י הקלדת פקודת ln - s ואת הנתיב המלא של הקובץ אליו אתה רוצה ליצור את הקישור, ואז את השם של הקובץ ה"לא-אמיתי". למשל:
ln -s /party/june.html myparty.html
השתמש בפקודה בפקודה ls - l כדי לראות מה עשית. תקבל משהו דומה לזה:
lrwxrwxr-x 1 yourname myparty 20 Mar 14 13:05 myparty.html -> /party/june.html
כשמבקר מבקש לראות http://myparty.com/june/myparty.html, הוא יקבל את המידע שנמצא ב- http://myparty.com/party/june.html.
כשאתה יוצר קישורים סימבוליים, בדוק האם העמוד קורא לקבצים נוספים (תמונות, קולות, CGI וכו') והאם יש נתיבים אבסולוטיים ב- HTML - כי יתכן שאלה לא יפעלו אפילו אם הם פועלים היטב מהעמוד המקורי.