هل من الممكن أن يكون لديك قواعد تجاهل منفصلة لكل جهاز تحكم عن بعد؟
سؤال
هذا هو وضعي.أقوم بإعداد خادم تطوير وخادم إنتاج على PHP Fog.لدي مجموعة واحدة من الملفات على جهازي المحلي والتي أود أن أتمكن من العمل عليها ودفعها إلى كل من الخادمين على PHP Fog.
أريد أن يكون خادم التطوير الخاص بي محميًا باستخدام أساليب htpasswd/htaccess التقليدية.وهذا يعني أن خادم الإنتاج يحتاج إلى تجاهل هذين الملفين في نسخة العمل الخاصة بي.
هل هناك طريقة لإخبار خادم الإنتاج بتجاهل هذين الملفين عند تنفيذ الالتزام مع السماح لهما بالمرور عند الدفع إلى خادم التطوير؟
المحلول
لقد كنت أبحث في هذا منذ فترة أيضًا واستخدمت هذه المقالة، والتي يجب أن تشرح كيفية استخدام htaccess واحد لمواقع متعددة بدلاً من القلق بشأن git.
مشاركة مدونة:"أعزب .htaccess
الملف في git repo الخاص بك لكل من خادم التطوير والإنتاج" بواسطة مارك آلان إيفانز
ووصف المشكلة على النحو التالي:
مشكلة:
تريد أن يكون
dev.yoursite.com
وwww.yoursite.com
لكنك لا تريدdev.yoursite.com
مرئية للجمهور.حل:
إذا كنت تستخدم Apache (وهو ما يستخدمه الكثير منا)،
.htaccess
و.htpasswd
إلى الإنقاذ.
في الخاص بك.htaccess
إضافة الملف:
SetEnvIf Host yourstagingserver.com passreq
AuthType Basic
AuthName “Staging Server”
AuthUserFile /path/to/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any
قم بتكوين ملف كلمة المرور الخاصة بك على كل من التطوير والإنتاج
أينما تحدد
/path/to/.htpasswd
الملف، انتقل إلى هذا المجلد من وحدة التحكم واكتب "htpasswd -c .htpasswd mark
"حيث يكون Mark هو المستخدم الأول الذي تريد إنشاء تسجيل دخول له.
لكل نوع شخص إضافي "htpasswd .htpasswd linda
" أينlinda
هو اسم المستخدم التالي الذي تريد إضافته إلى.htpasswd
ملف.
في كل مرة سيطالبك بكتابة كلمة المرور مرتين (سيتم تخزين كلمة المرور الخاصة بك في ملف.htpasswd
file) مشفر بجوار اسم المستخدم الذي قمت بإنشائه.ملحوظة:
AuthUserFile
يتوقع مسارًا مطلقًا، ولكن إذا لم تبدأ المسار بشرطة مائلة للأمام، فسيتم تعيينه افتراضيًا على الدليل الذي تحدده في ملفك httpd.conf
ملف باسم ServerRoot
.