htaccess פשוט לא עובד

lior wohl

New member
htaccess פשוט לא עובד

יש לי קובץ .htaccess פשוט:
Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)\.htm$ $1.php [nc]​
ניסיתי להשתמש בו על המחשב שלי בבית (לינוקס) ועל שרת בתשלום ובשניהם זה פשוט לא עשה כלום. שמתי את הקובץ בתקיית הבסיס של האתר (var/www במחשב שלי ו- public html בשרת) ושנכנסתי לindex.html וזה לא העביר אותי לindex.php כמו שזה היה אמור להיות לפי הקובץ htaccess. מה יכול לגרום לזה? תודה.
 

bnayal

New member
אמממ

נכנסת לindex.html או ל-index.htm
כי הביטוי הרגולרי שכתבת מתאים רק ל htm ולא ל html.
 

guruyaya

New member
נתחיל לבדוק מה הבעיה

תקע טעויות מכוונות בקובץ ותבדוק אם אתה מקבל שגיאה 500 מהשרת. אם לא, הבעיה היא שהקובץ לא נקרא. אם כן, הבעיה היא שהקובץ נקרא אבל לא מבוצע. אז נראה לאן להמשיך.
 

lior wohl

New member
אוקיי

שיניתי את הnc לl וזה לא שינה כלום.. ככה זה גם היה במדריך שממנו העתקתי את הקוד ניסיתי אותיות גדולות וקטנות אבל לא שינה. ניסיתי אחרכך את הרעיון של לעשות שגיאות בכוונה ולראות אם אני יקבל דף שגיאה, אז בשרת האמיתי זה באמת הביא שגיאה, על המחשב שלי לא. אז אני יעבוד על השרת עם הקובץ הזה.
 

N0

New member
חפש בגוגל

על AllowOverride אתה צריך לדאוג בשרת שלך שהוא מאפשר לך להשתמש בקבצי htaccess אם אני לא טועה זה צריך להיות מוגדר בhttpd.conf שבטח נמצא אצלך בetc אבל ראיתי בכמה מדריכים שמדברים שם על קובץ שנקרא htaccess.conf בכל מקרה , יכול להיות שהשרת שאתה משתמש בו לא מאפשר לשנות את כל ההגדרות עם htaccess אלא רק דברים ספציפים .
 

bennysg

New member
בטח זה לא עובד לך כי אין שם של קובץ

לפי הסקריפט הזה את רוצה שכל מה שהיה עם סיום php יקבל גם אפשרות לקבל סיומת htm אבל זה לא הולך כי אי אפשר להחליף שם בשם זהה מוגדר שם רק משתנה כלומר המשתנה $1 הוא גם שם של הקובץ כלומר שם הקובץ כולו הוא משתנה ואתה מסה להחליף את כולו ואז נוצר זהות.
 
זה עובד..

כל דף שיכנסו אליו עם סיומת html תקבל דף עם אותו שם אבל עם סיומת php. אפשר דר"א גם לעשות את זה בלי mod_rewrite אם זו המטרה היחידה של המקטע הזה, יש אפשרות בקונפיגורציה של אפאצ'י לומר לו לפענח קבצי html כ-php.
 
למעלה