en-UShe-IL
You are here:   Blog
Register   |  Login

Blog Archive:

Maximize
* Can be used in order to search for older blogs Entries

Search in blogs


Blog Categories:

Maximize
* Can be used in order to search for blogs Entries by Categories

Blog Tags:

Maximize
* Can be used in order to search for blogs by keywords

TNWikiSummit


Awared MVP 


 


Microsoft® Community Contributor 


Microsoft® Community Contributor


 Read first, before you you use the blog! Maximize
יול13

Written by: ronen ariely
13/07/2011 11:30 RssIcon

הטיפ היומי

* טוב אז אין לי באמת כוונה לשים בכל יום טיפ חדש אבל תגידו שזה לא נשמע כותרת יותר מעניינת מהטיפ החצי שנתי :-)

עברית שפה קשה - הבעיה

פתחתם הודעת בלוג חדשה עם כותרת בעברית?

שמתם לב לכתובת ה URL שנוצרה עבורנו והיא נראית כמו:

http://ariely.info/dnn/Blog/tabid/83/EntryId/44/.aspx

הסיומת של כל כתובת ה URL של הודעות הבלוג בעברית הם /.aspx

מאוד לא יפה וגם מאוד בעייתי בעבודה עם מנועי חיפוש.

בואו נלמד כיצד נוכל לשפר את כתובות ההודעות שלנו...

הקישור לכתובת ההודעות בבלוג נבנות עבורנו בצורה אוטומטית תוך שימוש בכותרת הודעת הבלוג. כך למשל אם כותרת הבלוג שלנו היא XXX אז הקישור להודעה שייצרנו יסתיים ב /xxx.aspx

אך מה קורה עם כותרת בעברית?

מנוע מערכת הבלוגים של DNN בודק את חוקיות התוום בכותרת שלנו ומבצע כמה התאמות בסיסיות על מנת להתאים כתובת URL חוקית מתוך כותרת הבלוג שלנו.

למשל במקום הרווחים בכותרת יופיע בקישור סימון קוו תחתון _. תווים אחרים לא חוקיים כמו כל התווים בעברית פשט ימחקו. שיטה פשוטה חכמה ויפה. כך למשל אם הכותרת של הבלוג היא: the best blog. אז בכתובת העמוד יופיע לנו: the_best_blog.aspx

הדבר נותן הרגשה לגולש כאילו יש לנו קובץ בשם the_best_blog.aspx.

למעשה מערכת DNN עובדת באמצעות ROUTER דינאמי וכמובן שלא קיים לנו בפועל קובץ בשם זה.

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

אך מה קורה אם הכותרת שלנו בעברית?!?

הרי כל התווים נמחקים ומה שנשאר לנו זה קישור מהצורה הבאה:

http://ariely.info/dnn/Blog/tabid/83/EntryId/44/.aspx

מאוד לא יפה! מאוד לא יעיל מבחינת מנועי החיפוש!

עברית שפה קשה - הפתרון

שוב נזכור שמערכת ה DNN לא באמת עושה שימוש בחלק המופיע אחרי

http://ariely.info/dnn/Blog/tabid/83/EntryId/44/

ז"א אנחנו יכולים להכניס במיקום זה כל תוכן שאנו רוצים ונגיע לאותו מקום בעזרת הראוטר של המערכת. למשל הקישורים הבאים יובילו למיקום זהה:

http://ariely.info/dnn/Blog/tabid/83/EntryId/44/.aspx

http://ariely.info/dnn/Blog/tabid/83/EntryId/44/Ariely.Ronen.aspx

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

ניגש למסד הנתונים לטבלת הודעות הבלוגים שלנו: Blog_Entries

הנתון עליו אנחנו רוצים לעבוד הוא הנתון הנמצא בשדה PermaLink

נציג תחילה את כל הקישורים לכל ההודעות שלנו להתרשמות כללית של מה המצב הנתון כרגע:

select PermaLink from Blog_Entries

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

 

אני למשל מריץ את הפעולה הבאה:

select * from Blog_Entries
where PermaLink like '%/.aspx'

 

כך אני מוצא את כל העמודים עם כתובת לא יפה, ואז אני מחליף בהם את הסיומת לכתובת Ariely.Ronen.aspx בעזרת השאילתה הבאה אשר מבצעת זאת לכל הרשומות במכה אחת:

update Blog_Entries
set PermaLink =
    STUFF(PermaLink, PATINDEX('%/.aspx',PermaLink)+1, 0, 'Ariely.Ronen')
where PermaLink like '%/.aspx'

 

כמה נקודות נוספות

·         צורה יעילה יותר לבצע שינוי בקוד עצמו במייצר עבורנו את כתובת ה URL. על כך במדריך אחר...

·         במקום להחליף את כל הנתונים לשם קובץ זהה ניתן לעשות שימוש גם בכתובת בעברית

o    אפשרות הראשונה היא פשוט לרשום כתובת בעברית למשל

http://ariely.info/dnn/Blog/tabid/83/EntryId/44/הבלוג_שלי.aspx

      * אפשרות זו מייצרת כתובת URL שאינה תיקנית ולא תעבוד בכל דפדפן.

o    אפשרות שנייה היא לקודד את החלק של העברית שלנו לכתובת URL תקנית. ניתן להעזר לצורך כך באתרים רבים הנותנים שירות זה און-ליין כדוגמת:

http://meyerweb.com/eric/tools/dencoder/