يقوم Apache بإعادة كتابة المحرك، والحصول على النطاق الفرعي والمسار بعده

StackOverflow https://stackoverflow.com/questions/1074505

  •  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 هو طلب
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top