كيف يمكنني الحصول على mod_rewrite للعمل في الدليل الرئيسي؟

StackOverflow https://stackoverflow.com/questions/1683322

  •  18-09-2019
  •  | 
  •  

سؤال

لدي ملفات PHP المخزنة ضمن FreeBSD ضمن هذا الدليل:

/home/david/public_html/code/php

في متصفحي، يمكنني الوصول إليها من خلال عنوان URL هذا:

http://192.168.6.7/~david/code/php

ولدي ملف HTACCESS لإعادة كتابة عناوين URL:

RewriteEngine on
RewriteRule ^test test.php

ولكن عندما أذهب إلى http://192.168.6.7/~David/code/php/test. في متصفحي، أحصل على هذا الخطأ:

Not Found

The requested URL /home/david/public_html/code/php/test.php

كما ترون، فإن قاعدة إعادة الكتابة ناجحة في محاولة إعادة توجيه اختبار إلى Test.php. ولكن لسبب ما فشل.

لقد وجدت هذا في ملف سجل خطأ Apache الخاص بي:

File does not exist: /usr/local/www/data/home

أي شخص يعرف كيفية إصلاح هذا؟ بالمناسبة، إذا وضعت هذا في دليل ويب وليس دليل منزلي، كل شيء يعمل بشكل جيد.

هل كانت مفيدة؟

المحلول

اضبط مسار URL الأساسي /~david/code/php/ مع RewriteBase:

RewriteBase /~david/code/php/

يجب عليك أيضا أن توضح UseDir ل public_html. وبعد أنظر أيضا أدلة الويب لكل مستخدم في دليل Apache.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top