يمكنني أن أفعل إذا/إذن/آخر htaccess?
-
22-07-2019 - |
سؤال
لدي موقع يقدم محتوى معين على أساس فرعي.حتى أنه هو نفسه مجموعة من الملفات و ربما رأس بعض المعلومات في صفحات الموقع التغييرات استنادا إلى فرعي.
أنا بحاجة إلى مختلف htpassword المصادقة على أساس فرعي فضلا, ولكن لا يمكن العثور على معلومات حول كيفية القيام إذا/إذن نوع من الشيء في htaccess .
أساسا ما أحتاجه هو هذا:
إذا فرعي = 'abc' استخدام هذا htpassword الملف
إذا فرعي = 'صفر' استخدام هذا htpassword الملف
يمكن أن يتم ذلك ؟
المحلول
وحاول شيئا من هذا القبيل:
SetEnvIf Host ^abc\. HOST_ABC
SetEnvIf Host ^dev\. HOST_DEF
<IfDefine HOST_ABC>
AuthUserFile …
</IfDefine>
<IfDefine HOST_DEF>
AuthUserFile …
</IfDefine>
نصائح أخرى
والذي خادم الذي تستخدمه؟
وتقنية التي قد تعمل على عدة خوادم مختلفة (يعمل بالتأكيد في اباتشي) هو أن يكون هناك ملف هتكس مختلفة في الدليل المقابلة لكل فرعي.
لو كنت أنا (و أنا لم أفكر أن تفعل هذا من قبل) وأود أن:
- استخدام داخلي إعادة توجيه باستخدام mod_rewrite إلى موقع مختلف الجذور (/سوبا أو /subb) اعتمادا على بعض العوامل (محاكاة إذا/آخر)
- استخدام روابط الرمزية على الدليل العام ، ولكن ليس .htaccess
لذلك:
/sites/subdomain_a/.htaccess
/sites/subdomain_a/pub
/sites/subdomain_b/.htaccess
/sites/subdomain_b/pub
حيث
/sites/subdomain_a/pub == /sites/subdomain_b/pub
باستخدام
ln -s
أو ما شابه ذلك.ثم استخدام mod_rewrite إلى إعادة توجيه (داخليا) على يمين الموقع الجذر.أنا أعتقد mod_rewrite يدار من قبل .htaccess يتم تحميلها.
هذا يعني أنك فعالة تخدم نفس الموقع ملفات مختلفة .هتكس اعتمادا على فرعي.
ويساعد هذا الأمل ، بت من الإختراق.
سوف تكون مهتمة لمعرفة ما إذا كان أفضل شيء موجود.
ولا يمكنك استخدام إذا / آخر لهتكس ليس قائمة من التعليمات. ولكن، إذا كنت تستخدم كتلة مشروط مثل
ويمكنك أيضا وضع ملف هتكس واحد مستوى واحد فوق الملفات واستخدام <دليل شيء> لتحديد قواعد مختلفة لكل نطاق فرعي، ولكن تأكد الدلائل فرعي تكون جميع روابط الرمزية إلى نفس الدليل مع الملفات المشتركة.
وحيث سيكون هذا الدليل فوق جذر الويب (ق):
هتكس
sitefiles
subdomain1 (الرمزي لsitefiles)
subdomain2 (الرمزي لsitefiles)
...