קוד־סינפטס שקשורים לקובץ .htaccess

העברת URL אוטומטית לכתובת HTTPS דרך .htaccess

כשאני בונה אתרים, אוטומטית אפשר לגשת אליהם גם דרך http וגם דרך https.

זה בעייתי ולא נחוץ שיש כפילות בדומיינים, במיוחד היום כשרוב האחסונים מטמיעים באתרים שלנו https בחינם. (בעזרת השירות של LetsEncrypt)

כדי לפתור את הכפילות המיותרת, כל מה שצריך לעשות זה להוסיף את הקוד הבא לקובץ ה־.htaccess של האתר, בתיקיית ה־root:

# Forcing the domain to serve securely using HTTPS (for any site)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

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


שיוך אוטומטי לקובץ index.html במערכות מבוססות Angular-CLI

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

ומה אם אנחנו משתמשים ב־Routing כדי שבתפריט העליון בדף הבית נוכל לנווט לדף ספציפי, אשר גם משנה את הURL שלנו? (מהדומיין הראשי אל elrons.co.il/contact למשל) הו… אז זה מציג את זה כדף 404!

זה לא בעיה חמורה במיוחד, מה שמעצבן זה שוב לעשות מסע חיפושים באינטרנט אחר הקוד שעבד לי פעם…

אז לא עוד. הקוד הבא ידאג לכך שלא משנה לאיזה דף ניגשים בURL, זה יציג את זה דף ה־index.html כברירת־מחדל אם הקובץ/דף לא קיים, וכך ה־Routing יוכל לפעול כראוי וכולנו נוכל לישון בלילה (האמ… חוץ ממני כי אני אוהב לקודד בשעות הקטנות).

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
# RewriteRule . /projects/mesimator/index.html [L]
</IfModule>

זה הכל. תהנו לקודד!

דברים שאני כותב, קוד ופיתוח אתרים

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

פוסט בהפתעה?