سؤال

رأيته ذكر في العديد من بلوق في جميع أنحاء الشبكة ، ولكن أعتقد أنه يجب أن تناقش هنا.ماذا يمكننا أن نفعل عندما يكون لدينا إطار MVC (أنا مهتم في زند) في PHP لكن مضيفنا لا توفر mod_rewrite?هل هناك أي "طرق مختصرة"?يمكننا نقل التحكم في أي حال من الأحوال (حتى أن الخرائط قد تحدث بين الصفحات)?أي أفكار ؟ شكرا لك :-)

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

المحلول

الإطار زند يجب أن تعمل دون mod_rewrite.إذا كنت تستطيع العيش مع عنوان URL الخاص بك:s تبحث أكثر مثل "/path/to/app/index.php/تحكم/العمل".إذا كنت قد mod_rewrite يمكنك القيام به بعيدا مع "index.php" بعض الشيء ، ولكن ينبغي العمل أيضا.

الأمر كله مسألة إنشاء الطرق المؤدية إلى قبول index.php جزء.

نصائح أخرى

طيب بلدي الحكم :-) :ولقد استخدمت بنجاح زند دون mod_rewrite فإنه قد قال الموقع/مؤشر.php/تحكم/العمل.عرفت ذلك قبل نشر هذا.لقد وجدت أيضا في صافي الأسلوب الذي "يدفع" 404 صفحات index.php لذلك ما ليس في الموارد (على سبيل المثال.CSS, صورة, الخ) يحصل هناك ، مع استثناء واحد:بعد القيم.لذلك قررت أن الوقت القادم تطبيق يجب أن يكون في خدمة معينة ، أن يطلب بأدب عن mod_rewrite.إذا كان المسؤول لا يمكن أن توفر ذلك ، تحدث مع مدرب بلدي أو كان لي مفتاح موفر.عموما فمن العار في بعض الأحيان أن PHP السوق كثيرا مجزأة (php4, php5, php6, mod_rewrite, mod_auth, mod_whatever), ولكن هذه قصة أخرى...

mod_rewrite الأساسية تقريبا في اليوم استضافة البيئة..ولكن للأسف ليس كل من حصل الرسالة.

الكثير من كبيرة php برامج (أنا أفكر الماجنتو, ولكن معظم يمكن التعامل) جدا-url تراجع الوضع عندما mod_rewrite غير متوفر.

عناوين نهاية المطاف يبحث مثل www.site.com/index.php?load-this-page

يجب أن يتم تشغيل بعض السحر إلى انتزاع اسم المتغير من $_GET متغير و استخدامه كما محدد لما وحدة/ميزة تنفيذ.

في سياق متصل, لقد رأيت الكثير من افسدت عناوين url في facebook الموقع حيث انها تستخدم #.حتى وصلات تبدو مثل www.new.facebook.com/home.php#/inbox/ من الواضح اننا لا يعني أن نرى ذلك ولكن تشير إلى أنهم ربما تحليل $_SERVER['REQUEST_URI'] متغير.

إذا كان يمكنك أن تجد غير mod_rewrite طريقة لإعادة توجيه جميع الطلبات إلى index.php (أو في أي مكان الحرف الأول النصي), يمكنك, كما ذكر أعلاه, استخدام 'REQUEST_URI' للاستيلاء على جزء من العنوان بعد المجال ومن ثم تحليل ذلك كما تريد و جعل الطلب تفعل ما تريد.هذا هو كيف وورد أنها (منح ، مع mod_rewrite).طالما يمكنك إعادة توجيه الطلبات إلى صفحة الفهرس الخاص بك مع الحفاظ على نفس أوري يمكنك أن تفعل ما كنت بحاجة إلى أن عملية الطلب.

دروبال قواعد كتابة ترجمة

http://example.com/path/goes/here

في

http://example.com/index.php?q=path/goes/here

و قد المنطق أن تقرر أي نكهة من عناوين url إلى توليد.إذا كنت تستطيع العيش مع عناوين قبيحة, هذا سوف تمكنك من الحفاظ على كل منطق واحد تحكم الجبهة في المكان w/o الاعتماد على إعادة كتابة عنوان الموقع.

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