מדריך למתחילים. Htaccess עבור מעצבים ומפתחים
בין כלים שונים רבים עבור התאמה אישית של שרת האינטרנט שלך, את הקובץ. HTaccess config הוא נכס אדיר. אתה יכול לאפס במהירות סוגי מסמכים, מנועי ניתוח, כתובות אתרים להפניות מחדש, ותכונות חיוניות רבות אחרות. מנהלי אתרים שאינם טכניים מאוד לא יכול להיכנס לפרטים הספציפיים של ניהול קובץ. Htaccess משלך. אבל הנושא עצמו מרתק ושווה חקירה.
במאמר זה אני רוצה להציג כמה מושגים תכליתיים יותר עבור מנהלי אתרים ומפתחי אינטרנט. כל מי שהוא משיקה את אתר האינטרנט שלהם בשרת Apache בהחלט רוצה להבין איך לנהל את הקובץ. htaccess שלהם. זה מספק כל כך הרבה להתאמה אישית וזה יכול לעבוד בכל שפות האינטרנט מ PHP ל רובי.
בתחתית הודעה זו הוספתי כמה webapps חיצוניים לסייע למשתמשים חדשים ליצור קבצים. htaccess שלהם באופן דינמי.
למה להשתמש בקובץ. Htaccess?
זו שאלה גדולה, ואולי כדאי שנתחיל בכך “מה זה קובץ htaccess”? זהו קובץ תצורה מיוחד מאוד המשמש את שרת האינטרנט Apache. קובץ. Htaccess יכול לספר לשרת האינטרנט כיצד להציג צורות שונות של מידע וכיצד להתמודד עם כותרות בקשת HTTP שונות.
באמת זה אמצעי ביזור כדי לארגן את הגדרות שרת האינטרנט. שרת פיזי אחד יכול להחזיק 50 אתרים שונים כל אחד עם קובץ htaccess. זה מעניק הרבה כוח למנהלי אתרים, אשר אחרת היה בלתי אפשרי. אבל למה אתה צריך להשתמש אחד?
הסיבה העיקרית היא אבטחה. אתה יכול לנעול את הספריות מסוימות או להפוך אותם מוגנים בסיסמה. זה נהדר עבור פרויקטים פרטיים או חדש מערכות ניהול תוכן שבו אתה רוצה קצת יותר ביטחון. אבל יש גם משימות נפוצות כמו הפניית 404 הודעות שגיאה לדף אינטרנט מסוים. זה רק לוקח שורה אחת של קוד והוא יכול להשפיע באופן דרמטי על האופן שבו האורחים מגיבים לדפים חסרים.
למען האמת אין הרבה שאני יכול לומר כדי לשכנע אחרים כי קובץ htaccess שווה הבנה. ברגע שאתה רואה את זה בפעולה אז אתה יכול לזהות את כל הערך שמגיע זה קובץ זעיר config. כמו כן אני מקווה את שאר מאמר זה עשוי להציג כמה נושאים תובנה להביא מנהלי אתרים לתוך האור של ניהול תצורה. Htaccess.
אפשר / דחה גישה
ניתן לזהות מבקרים פוטנציאליים דואר זבל ולשלול מהם גישה לאתר האינטרנט שלך. זה יכול להיות קצת קיצוני, אבל אם אתה יודע שאדם או קבוצה של אנשים כבר המיקוד לאתר שלך יש כמה אפשרויות לבחירה. אתה יכול לבחור הפניה תחום להכחיש או לאסור על המבקרים על ידי כתובת ה- IP.
לאפשר, דחה את ההכחשה מ 255.0.0.0 מכחיש מ 123.45.6. לאפשר מכל
קודי מדגם אלה הועתקו מ- Htaccess Guide כיוון שהם התבנית המושלמת לתחילת העבודה. שים לב כתובת ה- IP השני חסר את מספר שלם 4. בלוק קוד זה יכוון את ה- IP הראשון (255.0.0.0) ואת כל ה- IP בטווח של 123.45.6.0-255, ולאחר מכן לאפשר את כל שאר התנועה. מנהלי אתרים לא יכולים להשתמש בתדירות זו כמו טכניקות אחרות, אבל זה מועיל להבין.
מניעת רשימת מדריך
יהיו פעמים כאשר יש לך ספרייה פתוחה אשר כדי לאפשר גלישה כברירת מחדל. משמעות הדבר היא שמשתמשים יכולים להציג את כל הקבצים הרשומים בתוך מבנה ספריות פנימי, כמו תיקיית התמונות שלך. מנהלי אתרים מסוימים לא רוצים לאפשר רישום ספריות ו תודה לאל את קטע הקוד הוא די קל לזכור.
אפשרויות - אינדקס
ראיתי את התשובה הזו הציגה פעמים אין ספור לאורך הצפת מחסנית וזה עשוי להיות אחד הכללים הקלה. Htaccess לזכור.
זה אפשרי ליצור קבצים מרובים. HTaccess בתוך כל ספריות אלה אז אולי אחד מהם מוגן בסיסמה, אבל האחרים לא. ואתה עדיין יכול לשמור על אפשרויות - אינדקס כך המבקרים לא יכולים לגלוש דרך אתר האינטרנט שלך / תמונות / תיקייה.
הגנת סיסמה
סיסמה להגן על הספריות שלך היא הליך נפוץ מאוד עבור אבטחת אזורים ניהול ותיקיות אחרות חיוני לאתר האינטרנט שלך. לפעמים אתה רק רוצה להציע גישה לקבוצה קטנה של אנשים. פעמים אחרות סיסמאות הן כדי למנוע האקרים מלקבל גישה ללוח ניהול אתר האינטרנט שלך. אבל כך או כך זה פתרון חזק מאוד למספר שלם של בעיות.
יש מדריך שימושי על הגנה באמצעות סיסמה אשר מתאר את קטעי הקוד החשובים. אתה תצטרך ל ליצור קובץ סיסמה אשר מאחסן את שם המשתמש / סיסמה אישורים. כך אפאצ 'י יכול לבדוק מה המשתמש קלט כדי לראות אם הם צריכים לקבל גישה. ושים לב כיצד יהיה עליך ליצור דוגמה עבור שם המשתמש והסיסמה שלך.
אני ממליץ להשתמש גנרטור זה htpassword אז אתה יכול לחסוך קצת זמן. התחביר תמיד יוצא מושלם ואתה לא צריך להצפין את הסיסמה בעצמך. ואת האפשרות הגדולה האחרת היא להגן על הסיסמה של כל רשימת הספריות. אנו יכולים לראות את הדוגמה הזו בגלריית קטעי הקוד של CSS-Tricks.
AuthUserFile /full/path/to/.htpasswd דרוש משתמש חוקי
אבטחה עבור WordPress
כדי לשים את הרעיון להגנה על סיסמה כדי להשתמש טוב, בואו להציג דוגמה של העולם האמיתי. זה קטע קוד מסובך יותר יהיה אימות משתמש בכוח עבור כל אחד לגשת לקובץ WP-login.php של WordPress. תוכלו למצוא את המקור על Ask Apache אשר יש קטעי רבים אחרים WordPress הגנה.
הזמנה דחה, לאפשר להכחיש מכל לספק כל AuthName "מוגן על ידי AskApache" AuthUserFile /web/askapache.com/.htpasswda1 AuthType Basic דרוש משתמש חוקי
ואם אתה הולך לעקוב אחר הכללים. Htaccess זה יכול גם לעזור להגן על הסיסמה באזור הניהול. בדרך כלל wp-login.php הקובץ הוא הולך לקבל את הלהיטים ביותר מאנשים מנסים בכוח הזרוע שלהם לתוך המערכת שלך. אז אפילו רק את הקוד המדגם לעיל יהיה יותר ביטחון הוסיף מספיק עבור אתר האינטרנט שלך WordPress.
כללים לשחזור כתובת אתר של HTTP
שכתוב כתובות אתרים הוא כנראה אחד השימושים הנפוצים ביותר עבור קבצי htaccess. התקנות ברירת המחדל של WordPress יכולות למעשה ליצור קובץ. htaccess ישירות מתוך לוח הניהול. זה מאפשר לך ליצור כתובות די יפה שאין להם את. Php? P = 1 מבנה.
אני רוצה להסתכל על זה לשכתב את הדוגמה ב כיצד לעדכן קווי תחתון מקפים - - מאז מכיל הרבה מן האלמנטים החשובים ביותר.
אפשרויות [+ S = 4] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ ([^ _] *) _ ([= S = 4] ReriteRule ^ [^ _] *) _ (. *) $ $ 1- $ 2- $ 3- $ 4- $ 5 [E = uscor: כן] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ ([^ _ * (* *) $ $ 1- $ 2- $ 3- $ 4 [E = uscor: Yes] RewriteRule ^ ([^ _] *) _ ([^ _] *) _ (. *) $ $ 1- $ 2- $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ [ //d.com/$1 [R = 301, L]
שכתוב ו שכתוב יכול תמיד להיות מוגדר לערכים המדויקים האלה. אבל אתה צריך את RewriteEngine מופעלת עבור כל דבר אחר לעבוד. יש הרבה מדריכים מקוונים המסביר כיצד לאפשר mod_rewrite ואת ספק האירוח שלך יכול גם לעזור.
שים לב לתחביר הבא דפוס של RewriteRules בחלק העליון. כללים אלה משמשים התאמה כנגד מקרים שנשלחו כבקשת HTTP. אלה הם ענו על ידי RewriteRule אשר במקרה זה מפנה הכל לתחום d.com. סוגריים הסיום כמו [R = 301, L] נקראים לשכתב דגלים אשר חשובים, אבל יותר של נושא מתקדם.
התחביר mod_rewrite הוא בהחלט קצת מבלבל אבל לא להיות מאוימים! קטעי הטקסט יכולים להיראות הרבה יותר קל בדוגמאות אחרות.
כאשר רק מתחיל, אני צריך להמליץ על webapp mod_rewrite זה עוזר לך ליצור דוגמאות קוד באמצעות כתובות אמיתיות. זהו כלי מבריק, כי אתה יכול להסתכל על פריטים שונים בתחביר כדי לראות מה הם באמת לעשות את הכללים לשכתב. הנה עוד מדריך נהדר עם דוגמה פשוטה ללמוד:
RewriteRule ^ dir / [0-9] +) /? $ /Index.php?id=$1 [L]
אל תנסה להעמיס את עצמך על כל אלה בבת אחת. זה לקח לי הרבה מעל 3-4 חודשים כדי באמת להתחיל להבין איך לכתוב מחדש כתובות עם [0-9a-zA-Z] + ודפוסים דומים. תמשיכו להתאמן ובזמן שאני מבטיח שתקבלו את החומר הזה כאילו זה ידע של השכל הישר.
קטעי קוד עבור מנהלי אתרים
אני אוהב קל לשימוש קטעי ואני רוצה להרכיב את זה אוסף קטן של קודים. HTaccess רלוונטי עבור מנהלי אתרים. כל אחד מהרעיונות האלה יכול להתאים יפה לתוך הקובץ. Htaccess שלך יחד עם בלוקים קוד אחרים. רוב קטעי אלה הם נהדר עבור פתרון בעיות או תיקונים מהירים בסביבת שרת האינטרנט שלך. תאר לעצמך את ההגדרה המושלמת Apache עבור מנהלי אתרים חדשים רק מתחיל באינטרנט.
הגדרת DirectoryIndex
הפקודה DirectoryIndex משמשת בדרך כלל בשורה אחת. אתה יכול להגיד Apache אילו מסמכים יש לטפל בתחילה כמו “ראשי” מסמך. כברירת מחדל זה יהיה כגון index.html, index.php, index.asp וקבצי אינדקס אחרים. אבל באמצעות קטע קוד זה שהעתקתי למטה, יש לך את היכולת להפוך את מסמך השורש הזה לכל דבר שתרצה.
Index.html index.cgi index.php
סדר המסמכים צריך להתחיל עם החשוב ביותר ולהעביר את שורות ל לפחות חשוב. אז אם אין לנו קובץ HTML או CGI אז fallback ילך index.php. ואתה יכול אפילו שם אלה קבצים home.php או someotherfile.php וכל זה הוא תחביר חוקי.
כוח WWW או תת WWW תת
Google יכולה לעבוד עם שתי הגרסאות של דומיין האתר שלך אם לא תציין www.domain.com או רק domain.com. מניסיוני זה הכי טוב לעשות לבחור אחד מהם ולהגדיר את זה כבחירה היחידה דרך .htaccess. לאחר מכן Google לא תוסיף לאינדקס כתובות אתר מסוימות, עם הצבעה כלשהי על תת-התחום של WWW, בעוד שאחרים לא יפעלו.
# כוח WWW משנה SubwrainEngine on RewriteCond% HTTP_HOST ^ domain.com [NC] RewriteRule ^ (. *) $ Http://www.domain.com/$1 [L, R = 301] # אין תת תחום RewriteEngine On RewriteCond% HTTP_HOST! ^ Domain.com $ [NC] RewriteRule ^ (. *) $ Http://domain.com/$1 [L, R = 301]
קטע קוד זה בא מארכיון CSS-Tricks ומספק פתרון שימושי מאוד. אתה צריך לעדכן את התחום להיות כל מה שאתה צריך עבור אתר האינטרנט שלך. אחרת יהיו בעיות ותבחין מיד! אבל אני עושה תמיכה מאוד לאלץ אחת משתי האפשרויות האלה והיא בראש רשימת המשימות שלי לאחר השקת אתר אינטרנט חדש.
כוח הורדות קובץ מדיה
עוד קטע חשוב למדי מאפשר לכפות סוגים מסוימים של מדיה להוריד במקום להיות מוצג בדפדפן. מיד אני יכול לחשוב על מסמכי PDF וקבצי אודיו MP3 אשר עשוי להיות מוצג בפורמט להורדה, אבל איך אתה וודא שהם ניתנים להורדה? מצאתי מאמר דומה שפורסם על מדריך Htaccess אשר מתאר את קטע קוד זה.
יישום AddType / Octet-stream. Zip .mp3 .mp4
אתה מוזמן לכלול עוד קבצים filetypes בסוף שורה זו. כל פורמטי המדיה המשתמשים בסוג זרם ה- OIME של זרם ה- Octet יהיו ניתנים להורדה. לכפות זאת דרך. Htaccess הוא מסלול ישיר מאוד כדי להבטיח שאנשים לא יוכלו להציג קבצים אלה בדפדפן.
מסמכי שגיאה מותאמים אישית
חתיכת האחרון האחרון אני רוצה להוסיף הוא תבנית מלאה של מסמכי שגיאה מותאמים אישית. בדרך כלל אלה קודי מספר נראים רק בסוף השרת. אבל יש הרבה מסמכים אלה שגיאה אשר אתה צריך להיות מוכר. כמה דוגמאות יכולות להיות שגיאות 403/404 וה 301 להפנות מחדש.
תבנית קוד שגיאה זו מתחיל ב 100 ומגיע למעלה 500 שגיאות. שים לב שאתה כמובן לא צריך את כל אלה. רק את השגיאות הנפוצות ביותר יהיה צורך, ואולי כמה קטעי מעורפל אם אתה מרגיש את הצורך.
אם אתה לא מזהה קוד רק לחפש את זה על ויקיפדיה כדי לקבל הבנה טובה יותר.
ErrorDocument 100 / 100_CONTINUE ErrorDocument 101 / 101_SWITCHING_PROTOCOLS ErrorDocument 102 / 102_PROCESSING ErrorDocument 200 / 200_OK ErrorDocument 201 / 201_CREATED ErrorDocument 202 / 202_ACCEPTED ErrorDocument 203 / 203_NON_AUTHORITATIVE ErrorDocument 204 / 204_NO_CONTENT ErrorDocument 205 / 205_RESET_CONTENT ErrorDocument 206 / 206_PARTIAL_CONTENT ErrorDocument 207 / 207_MULTI_STATUS ErrorDocument 300 / 300_MULTIPLE_CHOICES ErrorDocument 301 / 301_MOVED_PERMANENTLY ErrorDocument 302 / 302_MOVED_TEMPORARILY ErrorDocument 303 / 303_SEE_OTHER ErrorDocument 304 / 304_NOT_MODIFIED ErrorDocument 305 / 305_USE_PROXY ErrorDocument 307 / 307_TEMPORARY_REDIRECT ErrorDocument 400 / 400_BAD_REQUEST ErrorDocument 401 / 401_UNAUTHORIZED ErrorDocument 402 / 402_PAYMENT_REQUIRED ErrorDocument 403 / 403_FORBIDDEN ErrorDocument 404 / 404_NOT_FOUND ErrorDocument 405 / 405_METHOD_NOT_ALLOWED ErrorDocument 406 / 406_NOT_ACCEPTABLE ErrorDocument 407 / 407_PROXY_AUTHENTICATION_REQUIRED ErrorDocument 408 / 408_REQUEST_TIME_OUT ErrorDocument 409 / 409_CONFLICT ErrorDocument 410 / 410_GONE ErrorDocument 411 / 411_LENGTH_REQUIRED ErrorDocument 412 / 412_PRECONDITION_FAILED ErrorDocument 413 / 413_REQUEST_ENTITY_TOO_LARGE ErrorDocument 414 / 414_REQUEST_URI_TOO_LARGE ErrorDocument 415 / 415_UNSUPPORTED_MEDIA_TYPE ErrorDocument 416 / 416_RANGE_NOT_SATISFIABLE ErrorDocument 417 / 417_EXPECTATION_FAILED ErrorDocument 422 / 422_UNPROCESSABLE_ENTITY ErrorDocument 423 / 423_LOCKED ErrorDocument 424 / 424_FAILED_DEPENDENCY ErrorDocument 426 / 426_UPGRADE_REQUIRED ErrorDocument 500 / 500_INTERNAL_SERVER_ERROR ErrorDocument 501 / 501_NOT_IMPLEMENTED ErrorDocument 502 / 502_BAD_GATEWAY ErrorDocument 503 / 503_SERVICE_UNAVAILABLE ErrorDocument 504 / 504_GATEWAY_TIME_OUT ErrorDocument 505 / 505_VERSION_NOT_SUPPORTED ErrorDocument 506 / 506_VARIANT_ALSO_VARIES ErrorDocument 507 / 507_INSUFFICIENT_STORAGE ErrorDocument 510 / 510_NOT_EXTENDED
באינטרנט. HTaccess Webapps
- Htaccess בונה
- .htaccess הפניה מחדש
- .htaccessEditor - יצירת קובץ. htaccess
- Mod לשכתב גנרטור על ידי GenerateIt.net
משאבים שימושיים אחרים
- .htaccess ב wttp htpd
- תיעוד רשמי של Apache htaccess
- שאל Apache בלוג - Htaccess ארכיון
- מדריך htaccess ו mod_rewrite
- כל מה שרצית לדעת על כללים Mod_Rewrite אבל חששו לשאול
סופי מחשבות
יש כל כך הרבה אינספור משאבים מקוונים דיון. קבצי htaccess. המאמרים המקושרים שלי ו webapps הם מקום מצוין להתחיל. אבל לשמור על תרגול רעיונות חדשים ולא לפחד בדיקות קטעי קוד. כל עוד יש לך קובץ גיבוי אז אתה יכול לבדוק את מה שאתה אוהב וזה חוויה לימודית מהנה.
אם יש לך רעיונות או הצעות אחרות לגבי ניהול. Htaccess, אנא שתף אותנו באזור הדיון הבא.