מה הדרך הטובה ביותר לכפות HTTPS ו- WWW אך לאפשר localhost?

מה הדרך הטובה ביותר לכפות HTTPS ו- WWW אך לאפשר localhost? [עִברִית]

HTACCESS מאלץ HTTPS ו- WWW אך מאפשרים localhost

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

זה יכול בקלות להסתבך במנועי דיווח כמו Search Console של גוגל עם תצוגות שונות עבור אותם אתרים ודפים בדיוק. אחד עם חיבור HTTPS מאובטח, אחד בלי, ואחד מכל אחד עם תת-דומיין אינטרנט www ואחד אחר בלי, ואפילו הופך לסיוט שמוביל אותך להתקין מסנן תת-דומיין של Google Analytics כדי לדווח על עקבות.

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

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

בואו להיפטר מכל הדפים הכפולים הללו, שמקשים בסוף על צבירת הניתוח כראוי:

  • http://mywebsite.com/page

  • http://mywebsite.com/page/

  • https://mywebsite.com/page

  • https://mywebsite.com/page/

  • http://www.mywebsite.com/page

  • http://www.mywebsite.com/page/

  • https://www.mywebsite.com/page

  • https://www.mywebsite.com/page/

  • כל זה ייעשה על ידי עדכון קובץ ה- .htaccess, שהוא קובץ נסתר המשמש בשרתי Apache, המאוחסן בדרך כלל בתיקיית השורש של האתר.

הפנה מחדש של עמוד שמסתיים בחתך

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

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

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

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]
# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

HTACCESS מכריח HTTPS ומכריח htaccess WWW

כעת, כאשר נפתרה בעיית הסיומת הסופית, בואו נתמקד ב- HTTPS החסר או בתת-הדומיין החסר של האינטרנט שיכול לקרות, עם הפניה מחדש של htaccess http אל https בכוח www.

הדרך הקלה והמסוגננת ביותר לגרום לזה לקרות היא שניהם מזוהים באותו מצב htaccess בדיוק.

הדבר נעשה בקלות על ידי התאמת כתובות אתרים שאינן מתחילות עם תת-דומיין אינטרנט, או כל בקשה שאינה כוללת את ה- HTTPS, והפניית כתובת האתר הנכונה של אתר האינטרנט שלנו, הכוללת גם את החיבור המאובטח וגם את תת-הדומיין של האינטרנט www.

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

כפה HTTPS ו- WWW אך אפשר localhost

עכשיו הכל טוב, אבל מה קורה כשאנחנו מנסים להגיע לאתר שלנו במצב פיתוח בשרת מקומי של XAMPP, אך כל בקשותינו לכתובת http: // localhost מופנות כעת אל https://www.mysite.com - גרסת הייצור שלנו?

ובכן, הפיתרון הוא שימוש חוזר בקטע הקוד הקודם שמאכיל את גרסת HTTPS ו- WWW של בקשת ה- URL, אך התחל אותה על ידי אי הכללה מבקשות הסימון המופנות אל localhost או לכתובת ה- IP המקומית שלנו, שהיא 127.0.0.1.

וזהו, יש לנו עכשיו חתיכת קוד יפה שתפתור את כל הבעיות שלנו!

# HTACCESS force HTTPS and force WWW htaccess 
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

הפנה מחדש HTTP ל- HTTPS htaccess, כפה את WWW והסר את נטוי הסיום

ניתן להשתמש בכל פיסת הקוד שלמטה בקובץ HTACCESS כדי להשיג את כל הדברים הבאים:

הפנה מחדש HTTP ל- HTTPS ב- htacces,

כפה את ה- WWW בהצלחה,

הסר את קו נטוי הסיום ב- URL.

כמובן, אל תשכח לשנות את כתובת האתר עבור זו החלה עליך.

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

#--------------------------------------------------
# Force WWW htaccess : /
#--------------------------------------------------
#### Force HTTPS://WWW and remove trailing / from files ####
## Turn on rewrite engine
RewriteEngine on

# Remove trailing slash from non-filepath urls
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.mywebsite.com/%1 [R=301,L]

# Include trailing slash on directory
RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.mywebsite.com/$1/ [R=301,L]

# HTACCESS force HTTPS and force WWW htaccess
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [OR,NC]
RewriteCond %{https} off
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]

גלריית תמונות

מאמרים דומים


הערות (0)

השאר תגובה

להגדיל את ההכנסות ממודעות 50-250% עם Ezoic. שותף פרסום מוסמך של Google.
להגדיל את ההכנסות ממודעות 50-250% עם Ezoic. שותף פרסום מוסמך של Google.
 
להגדיל את ההכנסות ממודעות 50-250% עם Ezoic. שותף פרסום מוסמך של Google.
להגדיל את ההכנסות ממודעות 50-250% עם Ezoic. שותף פרסום מוסמך של Google.