لماذا لا يمكنني تعطيل هتكس في أباتشي؟
-
03-07-2019 - |
سؤال
وهذه هي المشكلة العكس من معظم حول والتي قرأت. وأنا على تشغيل أوبونتو 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 يمكن استخدام .htaccess
es.
والسبب mod_python
لا تعمل بعد الآن إذا قمت بحذف .htaccess
الخاص بك هو أن الإعداد mod_python
عادة في ملفات .htaccess
.
إذا كنت بحاجة الى مزيد من المعلومات، يرجى ان ترسل الينا التكوين الخاص بك.
وPS: في الواقع docuementation مرتبطة فوق يقول أنه يجب على لا تعيين AllowOverride
إلى شيء لا None
في <Directory />