10-04-2010, 15:57
|
|
|
חבר מתאריך: 13.12.07
הודעות: 59
|
|
include לקובץ לא אמיתי - php וhtaccess
שלום חברים
אני מנסה לעשות איזושהי פעולה, אני מקווה שזה אפשרי. החלטתי לפרסם את ההודעה כאן למרות שיתכן והיא שייכת יותר לפורום בניית אתרים מכוון שהיא עוסקת גם בנושאי ה-htaccess
א. יש לי איזו מערכת פשוטה מאוד שבניתי בPHP שעושה include לקבצי HTML הנמצאים בתיקיות שונות בשרת. כביכול מערכת ניהול תוכן אחת שתנהל במקביל מס' אתרים. (במקום להתקין לדוגמא 4 פעמים ג'ומלה)
ב. המערכת בנויה ככה שהכתובות תהיינה נגישות וידידותיות למשתמש באמצעות פקודות בhtaccess;
לדוגמא:
במקום לגשת ל
קוד:
http://mydomain.com/index.php?page=x&site=y
ניתן לגשת ל;
קוד:
http://mydomain.com/y/x.html
הקובץ htaccess בנוי ככה
קוד:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z_A-Z0-9].+)/([a-z_A-Z0-9].+)/$ index.php?site=$1&page=$2 [NC,L]
ג. אני מנסה לאחד את המערכת הזו עם מערכת פורומים, מורכבת יותר, הכוללת קבצי PHP רבים. מערכת הפורומים נמצאת בתוך התיקיה forums
הבעיות שניתקלתי בהם הן;
1. הגדרתי שקבצים הנמצאים בתוך התיקיה "forums" למעשה יהיו page=forums אך יעשו include לforums/index.php. הבעיה היא שקבצים הנמצאים בתוך forums/subfolder אינם נגישים (כנראה הגדרה בתוך הhtaccess) הגורמת להם להוציא 404.
החלק הבעייתי בhtaccess
קוד:
# Plugins directory #
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z_A-Z0-9].+)/([a-z_A-Z0-9].+)/(.*).php$ index.php?site=$1&page=$2&includephpfile=$3 [NC,L]
2. בעיה נוספת שנתקלתי בה היא שנסיון לגשת לכתובת הזו למשל
קוד:
http://mydomain.com/blog/forums/index.php?op=login
אכן עושה include לקבוץ הנכון, אבל מתעלמת מהמשתנה op (ומכל שאר המשתנים)
ניסיתי לפתור את הבעיה בכך ששמתי בתוך התקיה forums קובץ htaccess נוסף שגורם לקבצי הפורום להיות ללא משתנים כלומר עכשיו הקבצים יהיו נגישים דרך
קוד:
http://mydomain.com/blog/forums/login.html
הבעיה שנוצרת כאן היא שאני מנסה לעשות include לקבוץ שאינו קיים למעשה login.html והשרת זורק לי שגיאה.
למישהו יש פתרונות?
תודה,
_____________________________________
דרוש איש מכירות שותף לעסק שאני רוצה להקים בנושא אינטרנט
נשמע מעניין? צור קשר בהודעה פרטית
|