كيف يمكنني الحصول على Errordocument في .htaccess لإخراج معلمة URI خاطئة؟

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

سؤال

لقد عملت - حول الحل لتحويل جميع URI إلى صفحة واحدة عبر Errordocument.

السبب وراء ذلك هو إرسال الملفات والمجلدات (عناوين URL لطيفة) إلى صفحة واحدة. ومع ذلك، أحتاج إلى سلسلة URI المراد إرسالها إلى index.php؟ uri = string. هل هذا ممكن عبر Errordocument، أو كيف أفعل هذا؟

لذلك أحتاج إلى إعادة كتابة

http://www.something.com/games/specific-game.

ل

http://www.something.com/index.php؟uri=/games/specific-game.

هل هذا ممكن على الإطلاق، إذا، كيف؟

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

المحلول

إذا كان الخادم الخاص بك يدعم جانب الخادم يشمل (SSI)، فأنت تستخدم ما يلي 404.shtml كما redordocument الخاص بك:

<html>
<header>
<meta http-equiv="Refresh" content="0; url=/index.php?uri=<!--#echo var="REQUEST_URI" -->">
</header>
</html>

تحرير: هناك طريقة أبسط: قم بإنشاء ملف PHP كخطث لديك ويمكنك فعل أي شيء تحت أشعة الشمس فيه! :)

EDIT2: يمكنك الوصول إلى URI الأصلي باستخدام $_SERVER['REQUEST_URI']

Edit3: هيك، إذا كنت تعيد توجيه index.php على نفس المضيف، يمكنك فقط تعيين ذلك index.php ملف كمستئل الخاص بك والكشف عن إعادة توجيه الطلب من 404 خطأ عن طريق التحقق إذا $_SERVER['REDIRECT_STATUS'] == '404'

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top