הבסיס לניווט באינטרנט הוא היפר-קישורים. עליהם המשתמשים עוברים מדף לדף, מאתר לאתר. בדרך כלל, המשתמש הוא שמחליט מתי לבצע את המעבר. עם זאת, לעיתים לאחר ביצוע פעולות מסוימות בדף, עליך להפנות את המשתמש באופן אוטומטי לדף אחר באתר או אפילו למשאב אחר.
זה הכרחי
- - היכולת לערוך סקריפטים של אתרים;
- - היכולת לערוך קבצי.htaccess;
- - היכולת לשנות תבניות עמודים;
- - היכולת לשנות את קוד ה- HTML של העמודים.
הוראות
שלב 1
הפנה את המשתמש למשאב אחר על ידי הוספת שדה מיקום לכותרת תגובת ה- HTTP של השרת. שנה את התסריטים של מערכת ניהול התוכן או הגדר את תצורת השרת (למשל, על ידי הפעלת מודול אפאצ'י ModRewrite והוספת ההוראות המתאימות לקובץ.htaccess) כך ששדה מיקום ימצא בכותרת במקומות המתאימים.
תוכן השדה מיקום בכותרת תגובת HTTP של השרת חייב להיות ה- URI המוחלט של המשאב אליו מופנית ההפניה מחדש. ברוב המקרים, סוכני משתמשים יורידו מיד את נתוני המשאבים שצוינו, גם אם קוד תגובת השרת מציין שההודעה כוללת גוף. עם זאת, בעת ביצוע הפניה מחדש, הגיוני להגביל את עצמך לשלוח רק את כותרת התגובה המכילה רק את שדה הסטטוס עם הקוד הנכון ואת שדה המיקום.
בחר קוד תגובה מטווח הערכים 301-303 בהתאם RFC 2616. צרו כותרת מינימלית והעבירו אותו לסוכן המשתמש. לדוגמה, ב- PHP, קוד יצירת הכותרת עשוי להיראות כך
כותרת ('HTTP / 1.0 303');
כותרת ('מיקום:
שים לב שבעת השימוש ב- ModRewrite, תוכל גם לבחור את קוד התגובה המועדף עליך.
שלב 2
הפנה מחדש את המשתמש באמצעות תג המטא עם התכונה http-equiv שהוגדרה לרענון. תגי מטא מתווספים לקטע HEAD במסמך. תוכן מאפיין התוכן של תג זה חייב להיות מחרוזת המורכבת ממספר המציין את העיכוב (בשניות) לפני ההפניה ואת ה- URI של משאב היעד (מוחלט או יחסי), מופרד מהמספר בפסיק. לדוגמא, כדי להפנות מחדש משתמש 10 שניות לאחר טעינת הדף, אתה יכול להשתמש בקוד הבא:
טכניקה דומה משמשת לעיתים קרובות ליצירת דפי התזה המופיעים לאחר שמשתמש ביצע פעולות מסוימות (למשל, דף פוסט לאחר פרסום תשובת הפורום).
שלב 3
יישם את ההפניה מחדש באמצעות סקריפט בצד הלקוח. השתמש ביכולת לשנות את מאפייני המיקום של החלון וחפצי המסמך. הדוגמה הפשוטה ביותר של קוד HTML המגדיר פיסת JavaScript המוטמעת במסמך עשויה להיראות כך:
document.location = "https://codeguru.ru";
מומלץ לשלב שיטת ניתוב מחדש זו עם זו המתוארת בשלב השני על ידי שינוי מאפיין המיקום בפונקציה מטפל באירועי טיימר.