سؤال

وهذه هي المشكلة العكس من معظم حول والتي قرأت. وأنا على تشغيل أوبونتو 8.04 على مثيل الأمازون مع اباتشي 2.2.8 وأنا لا يمكن معرفة لماذا وضع AllowOverride إلى بلا لجذر لا يتوقف ملف هتكس بلدي من يتم تضمينها.

ولدي دليل فرعي مع hello.py في ذلك، وملف هتكس. عندما انتقل إلى الملف، فإنه يعمل بشكل جيد مع modpython تخدم الملف. لو أنني وضعت بعض القمامة في هتكس أحصل على خطأ في الخادم، إذا كنت لا تعرف يتم استخدام ملف .htaccess. أيضا إذا كنت حذف ملف .htaccess، hello.py لم يعد الملقم modpython - بدلا من ذلك يحاول المتصفح لفتحه

في بلدي واحد من المواقع المتاحة (مرتبط في مواقع تمكين)، ولدي "AllowOverride بلا" للدليل الجذر. وأعتقد أن هذا من شأنه أن يمنع هتكس من تضمين من الجذر وكافة الدلائل الفرعية التي يجب أن يسبب hello.py للا تشملهم mod_python. ومع ذلك، فإنه لا يزال يمكن أن تتحقق ما يرام، وأستطيع أن اختبار لا يزال يتم تضمينها أن هتكس لأنني عندما تعديله، وأرى النتائج في متصفحي.

وربما هناك شيء أنا لا فهم حول ملفي في مواقع تمكين. هذا هو الملف الذي أستخدمه:

NameVirtualHost *:8080 
<VirtualHost *:8080>
<Directory />
AllowOverride None
</Directory>
</VirtualHost>

وشكرا على اي مساعدة.

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

المحلول

والسبب لا يتم تقديم الملف عبر mod_python عند حذف هتكس لأن يقع الإعداد لmod_python في ذلك. إذا قمت بنقل هذه الأشياء إلى ملف المواقع المتاحة لديك، يمكنك حذف هتكس، تغض الطرف عن المشكلة، ويطلق عليه اليوم.

وإذا كان هذا لا يرضي عليك، ثم لماذا .htacess يتم قراءة على الإطلاق، لا أستطيع أن أقول. كنت على صواب أن AllowOverride لا يوجد يجب منع الملف من أي وقت مضى قراءتها. هل تعتبر أن احتمال أن كنت ثمل شيء ما عند إضافة الموقع الظاهري؟ محاولة رمي بعض القمامة في التكوين ومعرفة ما اذا كان يشكو، لمجرد أن يكون متأكدا من أنه يجري قراءة على الإطلاق.

نصائح أخرى

AllowOverride يسمح فقط في <Directory> المقاطع، لذلك كنت قد فعلت كل شيء بشكل صحيح.

ومشكلة واحدة هل يمكن أن يكون هو الذي الأخرى (الفرعية) <Directory> المقاطع مجموعة AllowOverride إلى شيء مختلف عن None. وهذا تجاوز الإعداد لهذه الدلائل. أنا استخدم

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride AuthConfig 
    Order allow,deny
    allow from all
</Directory>

ووفي /var/www (بلدي docroot) I يمكن استخدام .htaccesses.

والسبب mod_python لا تعمل بعد الآن إذا قمت بحذف .htaccess الخاص بك هو أن الإعداد mod_python عادة في ملفات .htaccess.

إذا كنت بحاجة الى مزيد من المعلومات، يرجى ان ترسل الينا التكوين الخاص بك.

وPS: في الواقع docuementation مرتبطة فوق يقول أنه يجب على لا تعيين AllowOverride إلى شيء لا None في <Directory />

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