كيف يمكنني إعادة كتابة جميع عناوين URL إلى "/"؟
-
05-07-2019 - |
سؤال
الخادم: 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]
لا تنتمي إلى StackOverflow