سؤال

الخادم: Apache

أنا أتطلع إلى إعادة كتابة عناوين URL الخاصة بي بالطريقة التالية ، ولا يمكنني اكتشاف طريقة للحصول عليها للعمل.

http://website.com/index.html

أريده أن يعيد التوجيه إلى:

http://website.com/

لذا ، أرغب في تحميل index.html في الأساس ، ولكن لا أعرضه في عنوان URL. أنا أيضًا لا أريد أن أعطيه اسمًا آخر. أنا لا أبحث عن /index.html لتصبح /فهرس

بالإضافة إلى ذلك ، أحاول الحصول على أي بيانات مثل:

http://website.com/index.html?id=0&name="fred"

لإعادة الكتابة إلى:

http://website.com/?id=0&name="fred".

إذا كان لديك حل لا يستخدم ملفات .htaccess ، فهذا أمر جيد أيضًا.

هل كانت مفيدة؟

المحلول

أعتقد أن هذا يجب أن يعمل:

RewriteEngine on
RewriteRule ^index\.html(.*)$ /$1 [R=permanent,L]

سيؤدي هذا إلى إعادة توجيه أي طلبات تبدأ بـ /index.html إلى ببساطة "/"وسيحافظ على أي حجج تأتي بعد index.html

نصائح أخرى

للحصول على ملف .htaccess:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET\ /index\.html
RewriteRule ^index\.html$ / [L,R=301]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top