אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » פיתוח אינטרנט » פתרונות ומאמרים על פיתוח אינטרנט » שינוי Headers באמצעות htaccess

שינוי Headers באמצעות htaccess

רן בר-זיק אוקטובר 20, 2019 11:50 am תגובה אחת

אם אתם צריכים לשנות HTTP Headers – אפשר לעשות את זה בקלות דרך ה-htaccess.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

בעוד שב-Node.js ובאקספרס קל מאוד לשנות HTTP Headers (בפוסט הזה הסברתי מה הם בכלל) וב-IIS גם כן קל לעשות את זה באמצעות ממשקים גרפיים, באתרים שנשענים על Apache זה קצת יותר מאתגר וישנם כמה דרכים להוסיף HTTP Headers לאתר שלכם. כי אפשר להוסיף אותם בהמון מקומות – אחד מהם הוא באמצעות ה… htaccess! אותו קובץ קטן שבדרך כלל אנחנו משתמשים בו להפניות או לסינונים יכול לסייע לנו גם בניהול ה-headers.

כל הניהול של ה-htacces מתקיים בין שתי התגיות האלו:

<IfModule mod_headers.c>
#Headers
</IfModule>

זו הוראה ל-mod_headers ואנו חייבים להכניס את כל הפקודות שקובעות ומנהלות את ה-headers. לא שאלו פקודות מסובכות במיוחד. ה-htaccess מפרש את הפקודות מלמעלה למטה.

פקודת set

פקודת set היא הפקודה שבה תשתמשו בדרך כלל. זו פקודה שמקבלת שני פרמטרים, את שם ה-header ואת הערך שלו. למשל:

<IfModule mod_headers.c>
Header set X-Frame-Options SAMEORIGIN
</IfModule>

הפקודה הזו קובעת שה-header ששמו הוא X-Frame-Options יקבל את הערך SAMEORIGIN.

אפשר לשלב כמה פקודות במקביל. למשל:

<IfModule mod_headers.c>
Header set X-Frame-Options SAMEORIGIN
Header set Strict-Transport-Security max-age=63072000;includeSubDomains;preload
</IfModule>

פה יש לי שני Headers (שעליהם הסברתי במאמר קודם) שהוספתי.

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

<IfModule mod_headers.c>
Header set bahla "ahla ahla"
</IfModule>

append

עם append אני יכול להוסיף ל-HTTP Header מסוים. למשל, אם הוא נקבע בשלב מוקדם יותר (למשל בהגדרות ה-PHP.ini אם יש לכם או ב-httpd.conf) אז אני יכול להוסיף עליו. זו משמעות המילה append – להוסיף. וגם פה, אני משתדל שלא להשתמש ברווחים או לחלופין במרכאות.

הנה דוגמה לאיך שזה עובד – יצרתי header (לפקודת append לא אכפת אם ה-HTTP Header נוצר במעמקי ה-httpd.conf או שורה אחת לפני) ואז הוספתי לו.

<IfModule mod_headers.c>
Header set ahla "ahla ahla"
Header append ahla "bahla bahla"
</IfModule>

וה-Header יהיה כמובן:

Response Header: ahla: ahla ahla, bahla bahla
אני ממש חייב להפסיק לשחק עם אינטרנט ישראל בפרודקשן

unset

אני יכול כמובן להוריד גם HTTP Headers שאני לא רוצה (כמו למשל Powered by really bad PHP Version) באופן הבא:

<IfModule mod_headers.c>
Header set ahla "ahla ahla"
Header unset ahla
</IfModule>

שימו לב שאם אתם מאחורי קלאודפלייר, CDN או Load Balancer זה או אחר, לא בטוח שה-unset או ה-append יעבדו כי ה-htaccess קובע עד הנקודה האפליקטיבית, ה-CDNים מוסיפים Headers אחרי שה-htaccess רץ.

ועוד הערה חשובה – Apache עצמם מציינים שעדיף שלא להשתמש ב-htaccess אם יש לכם גישה ל-httpd.conf. אבל אם אתם משתמשים באחסון שיתופי – זו יופי של שיטה.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
תשתית

תגובה אחת

  1. DOR הגב אוקטובר 20, 2019 בשעה 11:08 pm

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

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד