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

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

הכומר 10-02-07 19:08

mod_rewrite
 
אני מניח שחלקכם משתמשים בfeature הזה באתרים שלכם עכשיו אני רואה הרבה דוגמאות שבהם משנים למשל כתובת כזו:
domain.com/index.php?p1 -> domain.com/1
עכשיו השאלה שלי האם יש דרך לעשות שאני לא צטרך כל הזמן לשכתב את הקובץ ולעשות שכל הזמן זה ישנה את זה ל./2 .
מקווה שהבנתם, תודה.

mlnn 10-02-07 19:29

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

LosNir 10-02-07 19:33

זה כל הקטע ב mod rewrite, שלא צריך לערוך את הקובץ כל פעם, ואפשר לקבוע חוקים משלך.

אני מאמין שהוא התכוון הפוך :|

mlnn 10-02-07 19:38

טוב, אז אם זה הפוך:
קוד:

RewriteRule ^page([0-9]+).html$ index.php?p=$1 [L]
נ.ב.
היית יכול למצוא את התשובה מיד בפורומים של המוד...

הכומר 10-02-07 19:51

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

ViPeRt 10-02-07 21:59

הקוד שהוא נתן לך עושה ככה:
page1.html
יופנה ל
index.php?p=1

RS324 10-02-07 22:02

ציטוט:

נכתב במקור על ידי הכומר (פרסם 421310)
אז זהו יכול להיות שאני טועה אבל מה שרשמת משפיע רק על המשתנה $1 נכון? כלומר צריך לרשום מחדש על כל ID שאתה מקבל, אבל באמת לא למדתי את זה יותר מידי אני אנסה ללמוד את זה יותר טוב.

לא...
יש לך רק התאמה אחת שאתה מחפש אז הראשון זה $1 ההתאמה השניה שאתה מחפש זה $2
וככה הלאה...

במקרה הזה חיפשת רק התאמה אחת ([0-9]+) אז קיים אצלך רק את $1

כמו ב PREG_REPLACE....

BlueNosE 11-02-07 09:12

הקוד שאתה צריך לשים פשוט למדי.
([a-zA-Z0-9]+)
ובהחלפה, אתה מתייחס לזה כ-$1.

אני מתאר לעצמי שלא תבין..
מה ששולח אותך ללמוד PCRE (יש מדריך בPHP איתן).


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

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