سؤال كيفية تمكين mod_rewrite ل xampp؟


أحصل على 404 غير موجود عند القيام بإعادة كتابة mod في ملف htaccess الخاص بي ، الوصول إلى المضيف المحلي

كيف يمكنني الحصول على هذا العمل ، كل المراجع التي وجدتها تشير إلى تحرير ملف في / etc / apache2 / mods-enabled

بالنسبة لي لا يوجد مجلد / etc / apache2 ، حيث يتم تثبيت apache بعد ذلك؟

باستخدام xampp ، http://www.apachefriends.org/en/xampp-linux.html


1
2017-09-05 18:32


الأصل


أي مساعدة في هذا؟ - Marchosius


الأجوبة:


لقد طرحت سؤال xampp في العنوان الخاص بك ولكنك وصفت مشكلة apache2 في decription. كلاهما أساليب مختلفة لتشغيل خادم الويب اباتشي.

يختلف تكوين xampp عن apache2. يحتوي xampp على apache و mysql داخله ، إذا قمت بتثبيت xampp ، فلا تحتاج إلى تثبيتهما بشكل منفصل.

لا يحدد xampp a2enmod أو a2dismod ، حتى قمت بتثبيت xampp في أوبونتو. تم تكوينها (a2enmod أو a2dismod) لـ apache2.

تشبه xampp تشبه إلى حد كبير httpd of centOS أو fedora.

يتم تثبيت XAMPP كـ / opt / lampp. يتم تمكين إعادة كتابة الوحدات النمطية افتراضيًا في xampp. يمكنك التحقق من ذلك في الملف /opt/lampp/etc/httpd.conf. يجب أن يكون هناك خط

LoadModule rewrite_module modules/mod_rewrite.so

هناك في ملف httpd.conf فضلا عن ملف mod_rewrite.so يتوفر في وحدات. إذا تم التعليق على السطر ، فهذا يعني أنه تم تعطيل الوحدة. يجب أن يكون السطر uncommented وكذلك لا يجب أن يكون تالف الملف .so إذا كنت ترغب في إعادة كتابة القواعد في xampp.


3
2017-07-09 08:00





لا تنس بعد الإعداد في httpd.conf في هذا القسم:

<Directory />
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>

يجب تمكين mod_rewrite:

sudo a2enmod rewrite

ثم أعد تشغيل apache:

sudo service apache2 restart

للتأكد من ذلك ، يمكنك التحقق من phpinfo in Configuration > apache2handler > Loaded Modules يجب أن يكون هناك مكتوب mod_rewrite وهذا يعني mod_rewrite ممكن. آمل أن يساعد.


1
2017-10-29 08:37





لست متأكدا ما إذا كان XAMPP في الواقع لديها بنية تمكين / تمكين / تمكين المواقع / mods-mods / mods التي تستخدمها حزم Ubuntu Apache. ولكن إذا كانت هذه الدلائل هي هناك ، أتوقع منهم أن يكونوا في مكان ما في / opt / lampp / etc ، لأن ملف التهيئة الرئيسي httpd.conf هناك (وفقا ل http://www.apachefriends.org/en/xampp-linux.html#385).

وفقًا لبعض إدخالات المدونة (مؤرخة تمامًا) على XAMPP ، قد يكون هناك تعليمة LoadModule ملائمة في ذلك httpd.conf ، وهو أمر يتعلق بتأثير

#LoadModule rewrite_module path/to/mod_rewrite.so

إذا استمر هذا الوضع ، فستحتاج إلى إزالة رمز التعليق (#) من ذلك السطر. بالإضافة إلى ذلك ، تحتاج إلى تمكين تجاوز المحلية من الإعدادات المركزية (على سبيل المثال من ملف htaccess أو vhost). لذلك عليك أن تبحث عنه

AllowOverride None

وتغييره إلى

AllowOverride All

قد يظهر ذلك في httpd.conf أكثر من مرة ، تحتاج إلى ضبط كل ظهور. بعد إعادة التشغيل المقبل من أباتشي mod_rewrite يجب أن تعمل.

في نهاية اليوم ، يكون نظام mod-available / mod-enabled هو "مجرد" طريقة رشيدة لإدارة مقتطفات التهيئة مثل LoadModule أعلاه ، انظر على سبيل المثال /etc/apache2/mods-available/rewrite.load من Ubuntu حزم أباتشي).


0
2017-09-09 21:21