أباتشي كتابة على أساس فرعي [مغلقة]
-
09-06-2019 - |
سؤال
أحاول إعادة توجيه طلبات البدل المجال إلى الدليل الفرعي.
ie. something.blah.domain.com
--> blah.domain.com/something
أنا لا أعرف كيفية الحصول على اسم نطاق فرعي لاستخدامها في كتابة القاعدة.
الحل النهائي:
RewriteCond %{HTTP_HOST} !^blah\.domain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)
RewriteRule ^(.*) /%1/$1 [L]
أو كما أشار pilif
RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$
المحلول
يجب أن يكون لديك نظرة على إعادة كتابة عنوان الموقع دليل من أباتشي الوثائق.
التالية هي لم تختبر ، ولكن يجب أن الخدعة:
RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$
RewriteRule ^/(.*)$ http://blah.domain.com/%1/$1 [L,R]
هذا يعمل فقط إذا كان فرعي يحتوي على أي نقاط.وإلا سيكون لديك لتغيير Regexp في RewriteCond لتتناسب مع أي حرف التي ينبغي أن لا تزال تعمل بسبب رسو ، ولكن هذا بالتأكيد يشعر أكثر أمنا.
نصائح أخرى
جرب هذا:
RewriteCond %{HTTP_HOST} (.+)\.blah\.domain\.com
RewriteRule ^(.+)$ /%1/$1 [L]
@pilif (انظر التعليق):حسنا, هذا صحيح.أنا فقط نسخ .htaccess التي تستخدم على واحد من بلدي المشاريع.أعتقد أنه لديه نهج مختلف قليلا :)
@سام
الخاص بك RewriteCond خط خاطئ.توسيع متغير يتم تشغيلها مع % لا $.
RewriteCond %{HTTP_HOST} ^([^\.]+)\.media\.xnet\.tk$
^
التي ينبغي أن تفعل خدعة