אתה צריך להשתמש או ב MOD_REWRITE ב אפאצי או במקביל שלו ל IIS (לא זוכר את השם כרגע)
מה שכן אתה יכול לעשות זה :
mysite.com/index.asp/pages/mypage
ראיתי לא פעם שעושים את זה באמצעות PHP אני מאמין שתוכל למצוא פתרון מקביל.
שלום חברים,
חבתי להתייעץ איתכם על משהו שאני חושב עליו כבר מספר ימים.
אני רוצה לצמצם את כתובת דף אתר מהצורה הזאת:
mysite.com/?page=1
לצורה הזאת:
mysite.com/1
זאת אומרת..
לכתוב קוד (ועדיף ב ASP) שידע לקבל את הערך שאחרי הדומיין (mysite.com)
כך שאני יוכל להשתשמש עם הערך שקיבלתי (1) לצורך השוואה במסד הנתונים.
מה אתם אומרים?
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
אתה צריך להשתמש או ב MOD_REWRITE ב אפאצי או במקביל שלו ל IIS (לא זוכר את השם כרגע)
מה שכן אתה יכול לעשות זה :
mysite.com/index.asp/pages/mypage
ראיתי לא פעם שעושים את זה באמצעות PHP אני מאמין שתוכל למצוא פתרון מקביל.
זה שיש רעיון שיכול לעבוד.. זה כבר כיף לשמוע
לא הבנתי את הרעיון של
mysite.com/index.asp/pages/mypage
??
כל המטרה שכתובת ה URL תצטמצם.
לדוגמא,
mysite.com/mypage
ואז לעשות redirect עם המשתנה mypage לכתובת המקורית:
mysite.com/index.asp/pages/mypage
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
mysite.com/index.asp?/mypage
ואז תגיד לו לקחת מה QUERYSTRING את הערך ותעשה SPLIT על /
תקבל MYPAGE ובהתאם לזה תוכל לבדוק אם קיים דף לדוגמא MYPAGE.ASP או לחפש ב DB
בד"כ עושים דברים כאלה על מנת שה URL יהיה קריא יותר ופחות בשביל לקצר אותו....
אני מצטער שאני משגע אותך.. מתאר לעצמי שלא הבנתי אותך נכון.
אבל כמו שאני מבין, אני צריך להשתמש בכתובת הזאת:
mysite.com/index.asp?/mypage
והמטרה שלי היא להשתמש בכתובת הזאת:
mysite.com/mypage
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
בשביל להשתמש בכתובת שאתה רוצה אתה חייב להשתמש ב mod_rewrite (מצטער שאני לא זוכר את השם של המודול המקביל שלו ל iis)
אני אבדוק את זה...
ממש תודה!
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
נראה לי ממש מסובך.. ממש סינית מה שהולך שם.
אין דרך בה אוכל להשתמש ב:
Request.ServerVariables("SERVER_NAME")
כדי לבודד את מה שבא אחרי שם הדומיין ולהשתמש בזה כפרמטר?
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
או קיי...
מצאתי בדיוק מה שחיפשתי.
שימו לב:
http://forums.aspfree.com/code-bank-...is-102550.html
אז עכשיו יש לי קובץ asp פשוט שנקרא rewrite.asp
מה שיקרה עכשיו זה שברגע שינסו להגיע ל:
mysite.com/mypage
השרת יחפש תיקיה בשם mypage
מה שאני צריך לעשות בנוסף זה להגדיר שברגע שיש שגיאה שהשרת לא מצא את התיקייה, ירוץ הקובץ שיצרנו (rewrite.asp) ויעביר את הגולש לכתובת החדשה.
וזאת רק אפשרות אחת.
יש שם עוד אפשרויות...
אשמח לדעת מה אתם חושבים שהכי כדאי???....
נערך לאחרונה על ידי tomer1, 21/07/2010 בשעה 23:42
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
היי..
מצטער שיוצא לי להגיב באיחור.
אתה צודק דקל! הדרך היא באמת פחות מוצלחת.. אבל אני מקווה שלא פוגעת!
בכל מקרה נכנסתי כדי להראות לכם מה עשיתי כדי שזה יוכל לעזור לחברה אחרים שיחפשו מידעה בנושא.
לפני הכל... חשוב לדעת שאני עושה שימוש בדף השגיאה כדי לבצע מעבר לדף הרצוי ואני בטוח שזה לא ימצא חן בעיני כל אחד.
צריכים להגדיר בשרת שבמקרה שהדף המבוקש לא נמצא (אני חושב שזה נקרא שגיאה 404) יתבצע מעבר לדף אחר בו נמצא הקוד הבא:
<%
Dim Path
Path=Request.ServerVariables("QUERY_STRING")
Path= replace(Path, ""&Request.ServerVariables("SERVER_NAME")&"", "")
Path= replace(Path, ""&Request.ServerVariables("HTTP_HOST")&"", "")
Path= replace(Path, "404", "")
Path= replace(Path, ";", "")
Path= replace(Path, "80", "")
Path= replace(Path, ":", "")
Path= replace(Path, "/", "")
Path= replace(Path, "http", "")
Response.Redirect("../mypage.asp?var="&Path&"")
%>
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
תשמעו, לפני כמה ימים הסתבכתי עם משהו כזה ושרפתי עליו חצי יום (חשוב לציין שאני לא מבין כלום בתכנות)
בסוף נתתי למישהו ב-fiverr
5 $ וסגרתי את הסיפור
אם תרצה אני יכול לתת את השם של הבחור שם שפתר את הבעיה
אין פה בעיה מסויימת...
פשוט מעלים רעיונות לביצוע הפעולה בצורה הטובה ביותר.
הדרך שבה אני עשיתי את זה.. היא דיי מקורית (כתבתי את הקוד בעצמי) אז חשבתי לשתף אחרים כדי שלא ישרפו סתם זמן כמו שאני עשיתי.
אבל זו לא הדרך הטובה ביותר!!!!
אני מזכיר שוב.. זה מעביר את כל התנועה דרך קובץ השגיאה המוגדר על השרת. וזה לא נשמע טוב במיוחד
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
אני עדיין מחזיק בדעה שלשלם למישהו 5$ זו הדרך הטובה ביותר לעשות זאת :-)
מה שהוא עשה אצלי זה ליצור קובץ htaccess שתוכנו:
נראה פשוט ואלגנטי, אבל שוב, לא מבין בזה הרבה.rewriteengine on
rewriterule ^category/([^/\.]+)/?$ index.php?category=$1
errordocument 404 /index.php
עושה שכל?
לפי הקוד שלך הוא מחפש כל מה שמתחיל ב category/ בודק מה יש אחרי זה category/*/ לוקח את מה שיש בכוכבית ושם את זה פרמנטר ב index.php
וזהו.
כן... זאת היתה בדיוק הכוונה!!!!
איך עושיםם דבר כזה בשרת ASP IIS Windows
הבנתי שזה קשור לסוג השרת
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך
שתהיה לי בריא, איזה בלאגן עשית.
ASP זאת שפת תכנות (שפת סקריפט, אם תרצה לדייק), Windows זאת מערכת הפעלה.
המילה היחידה שרלוונטית במשפט שלך היא IIS, ושכחת לציין את הגרסה.
בעיקרון - בגרסה 6 של IIS תצטרך להתקין תוסף חיצוני לטובת העניין. קיימים שניים רלוונטים שאני מכיר:
גרסה 7 (זאת שמגיעה עם Windows 2008 Server, או עם Windows Vista) מגיעה כבר עם מנגנון בסיסי ל-URL Rewriting, אולם אם תרצה משהו מתקדם יותר תצטרך להתקין תוסף חיצוני.
בהצלחה,
דקל
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"
היי דקל...
נחמד לשמוע שיש מנגנון קיים ב iis7
זאת אומרת שאני צריך לשנות כמה הגדרות על השרת???
Web Traffic Solutions
Buy Website Traffic
שירי יהלומים - תכשיטי יהלומים ישירות מהבורסה ליהלומים וללא פערי תיווך