הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה בקשר למערכת בכתובות סטטיות - htaccess (https://hosts.co.il/forums/showthread.php?t=42212)

Source 25-03-07 22:46

שאלה בקשר למערכת בכתובות סטטיות - htaccess
 
ראיתי הרבה אתרים שהתוכן בהם מבוסס על מערכת PHP, ובכל זאת הדפים סטטים, ובמקום משהו כזה:

קוד:

site-name.com/index.php?go=games&cat=action&id=53

זה נראה ככה:
קוד:

site-name.com/games/action/53
איך עושים את זה?
אודה מאוד מאוד למי שיעזור לי ^^ תודה רבה


נ.ב.
לפי מה שהבנתי עושים את זה בעזרת htaccess... למישו יש מושג איך?

ShoQER 25-03-07 23:05

זה נקרא MOD_REWRITE.
תחפש בגוגל על הנושא

DorWD 26-03-07 00:22

במידה ואתה יודע ביטויים רגולריים, אתה תוכל לעשות את זה בעזרת (כמו שDr.Bleff אמר) Mod_Rewrite, זה בעצם מן תוסף של apache.
תלמד את זה ותחזור לפה :)

אם אתה רוצה שנעשה לך משהו ספציפי רק תגיד אני ארשום לך קוד :)

Source 26-03-07 00:41

תודה רבה :)

חשבתי לעשות שלדוגמא ש page-1.html יהיה בעצם page.php?id=1.
אני קצת יודע ביטויים רגיולריים - הייתי עושה את זה כך, בשביל לבדוק האם הביטוי מתאים:
קוד:

page+-+[0-9]
1. אם אני רוצה לא רק בין 0-9 אלא 0-999 למשל? אני צריך [0+9]+[0-9]+[0-9]?

2. אז איך אני עושה בmod_rewrite אתה מה שאני רוצה (שמשתנה יקבל ערך ע"פי שם הדף)?
3. ועוד שאלה - איך עושים עושים שsite-name.com/1 יהיה בעצם site-name.com/page.php?id=1? (ספרייה ולא דף html)

תודה מראש ^^ אני מקווה שהניסוח המשונה של ההודעה שלי יהיה מובן

Eran-s 26-03-07 01:27

http://httpd.apache.org/docs/1.3/mod...ml#RewriteRule
יש בהמשך גם כמה דוגמאות

DorWD 26-03-07 03:04

ציטוט:

נכתב במקור על ידי Source (פרסם 445332)
תודה רבה :)

חשבתי לעשות שלדוגמא ש page-1.html יהיה בעצם page.php?id=1.
אני קצת יודע ביטויים רגיולריים - הייתי עושה את זה כך, בשביל לבדוק האם הביטוי מתאים:
קוד:

page+-+[0-9]
1. אם אני רוצה לא רק בין 0-9 אלא 0-999 למשל? אני צריך [0+9]+[0-9]+[0-9]?

2. אז איך אני עושה בmod_rewrite אתה מה שאני רוצה (שמשתנה יקבל ערך ע"פי שם הדף)?
3. ועוד שאלה - איך עושים עושים שsite-name.com/1 יהיה בעצם site-name.com/page.php?id=1? (ספרייה ולא דף html)

תודה מראש ^^ אני מקווה שהניסוח המשונה של ההודעה שלי יהיה מובן


אוקיי לפי מה שרשמת פה, אתה צריך לחזור על החומר


ציטוט:

חשבתי לעשות שלדוגמא ש page-1.html יהיה בעצם page.php?id=1.
אוקיי אז ככה:
קוד:

RewriteEngine on
Options +FollowSymLinks

RewriteRule ^page-([0-9])\.html$ page.php?id=$1

אם זה לא עובד תנסה להשים "\" לפני הסימן "-"

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

RewriteEngine on
Options 
+FollowSymLinks

RewriteRule 
^([0-9])/$ page.php?id=$

אפשר לשנות את שם הURL עם mod_rewrite למה שרוצים בעצם...
אפשר גם ל: www.domain.com/index.source
או למה שרוצים. אם יש עוד שאלות אתה מוזמן לשאול


כל הזמנים הם GMT +2. הזמן כעת הוא 12:12.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ