htaccess ، إعادة توجيه نطاق فرعي افتراضي إلى معلمة URL
-
28-09-2019 - |
سؤال
لدي مجال .ne.ro (مسجل في رومانيا) حيث يمكن للزوار الدخول مع أو بدون "www":
http://mydomain.ne.ro
http://www.mydomain.ne.ro
اريد إعادة التوجيه http://123.mydomain.ne.ro
إلى http://mydomain.ne.ro?id=123
. إذا أدخل الزائر مع "www | mail | ftp" يجب أن يعامل على أنه غير معلمة (من الواضح).
حاولت htaccess sublowain redirct مع معلمة URL الأخيرة لكن لم تنجح.
الكود الحالي:
# edited on 05/April/2011 as suggested:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [R,L]
استضافها على أ خطة عمل المضيفة (Linux) ومسجل في Nic.ro, ، فقط إذا طلب.
المحلول
بعد العديد من الكود المقترح (شكرا supersuphot) والكثير من الأبحاث أخيرا وجدت إجابة.
أولا أضفت النطاق الفرعي * تحت mydomain.ne.ro, ، أشار إلى مجلد/مسار المجال:
ثم قمت بتحميل ملف .htaccess مع الكود التالي:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain.ne.ro
RewriteCond %{HTTP_HOST} ^(.+).mydomain.ne.ro
RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]
هذا يعمل أيضًا:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ /index.php?id=%1 [P,L]
أهم شيء هو ص في حين أن ص في السطر الأخير ، للحفاظ على النطاق الفرعي الأصلي. يفحص هذا الجواب إلى السؤال ذي الصلة.
نصائح أخرى
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.ne\.ro$
RewriteCond %{HTTP_HOST} ^(.*)\.mydomain\.ne\.ro$
RewriteRule ^$ http://mydomain.ne.ro?id=%1 [R,L]
واو Quantme!
أنا أبحث عن هذا الرمز منذ يومين ، إيه أخيرًا ...
الرمز الأول الخاص بك مثالي بالنسبة لي
RewriteRule ^([^/]*)$ http://mydomain.ne.ro/?id=%1 [P,L]
كما يمكنك التغيير مع هذا (للأحرف الكبيرة أو الصغيرة)
RewriteRule ^(.*)$ http://mydomain.ne.ro/?id=%1 [P,L]
شكرا جزيلا Quantme