سؤال

لدي ما يقرب من 50 موقعًا تستخدم جميعها نفس الملفات تمامًا بخلاف CSS وIMAGES، أقوم حاليًا بتكرار الملفات في كل مرة أقوم فيها بإنشاء موقع جديد وأقوم بتحميل CSS وصور مختلفة.

ما أريد القيام به هو إعداد كل مضيف افتراضي ليكون له نفس الشيء جذر المستند ثم أضف الاسم المستعار لمجلدات CSS والصور على سبيل المثال:

#Common Files VHOST
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName commonfiles.com
    ServerAlias www.commonfiles.com
    DocumentRoot /home/commonfiles/public_html
</VirtualHost>

#Sample vhost for 1 of the 50 sites.
<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerName mytest.com
    ServerAlias www.mytest.com
    DocumentRoot /home/commonfiles/public_html
    ......
    AliasMatch /css/(.*) /home/ftpuser/public_html/mycss/$1
</VirtualHost>

يعمل الاسم المستعار بشكل مثالي مع الملفات المخصصة ولكن لا يمكن الوصول إلى الملفات الشائعة بسبب أخطاء في الأذونات:

[Mon Nov 16 09:31:01 2009] [crit] [client xxx.xxx.xxx.xxx] (13)Permission denied: /home/commonfiles/public_html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

هذا هو إعداد الخادم الحالي الذي أعتقد أنه قد يكون جزءًا من المشكلة (إعداد مسؤول الخادم السابق هذا):

  • أباتشي (أباتشي/2.2.14 (يونكس)
  • بي إتش بي 5.2.11
  • معيار سينت أو إس 4.8 i686
  • معالج PHP 5 هو DSO
  • أباتشي suEXEC قيد التشغيل

أي اقتراحات؟

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

المحلول

يبدو أن المجلد public_html لديه أذونات 750 افتراضيًا، وقد قمت بالتغيير إلى 755 وقمت بتحديث قيود open_basedir وبدأ كل شيء في العمل بشكل رائع.

كل ما علي فعله هو التأكد من أنه لا يزال بإمكاني الحصول على .htaccess لكل موقع.

نصائح أخرى

لا يبدو أن AliasMatch هي المشكلة، فرسالة الخطأ تشير إلى ملف htaccess الخاص بك.هل تأكدت من ذلك للحصول على الأذونات؟المستخدم Wbich أنها تنتمي إلى؟

الحل الآخر هو إنشاء روابط رمزية على كل مجال تشير إلى المجلد الذي توجد به الملفات المشتركة.

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