يقوم Apache بإعادة كتابة المحرك، والحصول على النطاق الفرعي والمسار بعده
-
21-08-2019 - |
سؤال
لدي الكود الأساسي لإعادة كتابة نطاق فرعي إلى صفحة أخرى.ولكن كيف يمكنني استخدام هذا للحصول على مسار الدليل المحدد بداخله وتمريره إلى البرنامج النصي الخاص بي بالإضافة إلى النطاق الفرعي نفسه؟
الرمز الحالي
RewriteCond %{HTTP_HOST} ^([^.]+)(\.example\.com)$
RewriteRule ^$ handle.php [L]
أرغب في توفير Handle.php بمسار الملف المحدد بعد **.example.com* وأيضًا اسم النطاق الفرعي في النموذج Handle.php?path=x&subdomain=y.
أي مساعدة موضع تقدير كبير!
المحلول
ويمكنك الوصول إلى تلك المعلومات مع $_SERVER['HTTP_HOST']
و$_SERVER['REQUEST_URI']
(لا تحتوي أيضا الاستعلام):
$path = preg_replace('/\?.*/', '', $_SERVER['REQUEST_URI']);
$subdomain = substr($_SERVER['HTTP_HOST'], 0, strpos($_SERVER['HTTP_HOST'], '.'));
نصائح أخرى
تحتاج إلى استخدام
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).example.com [NC]
RewriteRule ^(.*)$ %1/$1 [L]
%1
هو اسم نطاق فرعي$1
هو طلب
لا تنتمي إلى StackOverflow