سؤال

لديّ بيئة Windows/Apache/PHP تم إعدادها لتقليد حساب استضافة مشترك ولكن لا يمكنني الحصول عليها mod_alias و mod_rewrite للعب بشكل جيد مع بعضها البعض. يتم تمكين كلاهما بالتأكيد على مستوى الخادم وعلى أساس لكل موقع.

أملك d:\web\public_html\ تم إعداده كـ documentRoot. لكن بشكل عام سيكون فارغًا.

أملك d:\web\sites\ وهو المكان الذي سأخزن فيه مواقعاتي وأشير إلى استخدامها Alias ولديه بنية الدليل التالية تحتها:

d:\web\sites\alfa
d:\web\sites\alfa\public_html
d:\web\sites\bravo
d:\web\sites\bravo\public_html

لقد تم إعداد الأسماء المستعارة على النحو التالي: (وهي تعمل بالتأكيد!)

Alias /alfa d:/web/sites/alfa/public_html
<Directory "D:\web\sites\alfa\public_html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

ال public_html المجلد (المجلد) حيث كل موقع .htaccess يتم تخزين الملفات ولديها بالتأكيد mod_rewrite ممكّن ولكن لن يعمل بشكل صحيح.

حتى الآن لم أتمكن من الانهيار مع ماذا RewriteBase يجب ان يكون. لقد حاولت /, /alfa, /alfa/ و alfa/. لقد حاولت حتى d:\web\sites\alfa\public_html, d:/web/sites/alfa/public_html, d:\web\sites\alfa و d:/web/sites/alfa ولكن دون جدوى!

هل هذا ممكن؟ إذا كان الأمر كذلك ، ماذا أفعل خطأ؟

من الواضح أنني أود الاحتفاظ بي Alias توجيهات مركزية وب RewriteRuleS في كل موقع .htaccess الملفات.

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

المحلول

أنت تستخدم

AllowOverride None

التوجيه وبالتالي تعطيل أي .htaccess الملفات في الدليل المستعار. أزل ذلك ، ويجب أن يعمل.

/ يجب أن تعمل ل RewriteBase.

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