سؤال

لدي Symfony المشروع على Win XP / IIS 7 آلة مع Isapi كتابة مثبتة.عندما أذهب إلى الواجهة (الرئيسي) التطبيق ، يبدو أن التوجيه ببساطة لا يعمل.أنا دائما في نهاية المطاف على بلدي وحدة الافتراضي/العمل.ومع ذلك ، إذا أنتقلno_script_name = off (في إعدادات التطبيق.yml) ثم كل شيء يعمل بشكل جيد.أنا أيضا لدي الادارة التطبيق كجزء من المشروع (التي لديها أيضا no_script_name = off) و هذا يعمل بشكل جيد أيضا.هذا يبدو أنه ينبغي أن يكون مشكلة بسيطة, حتى الآن نحن نعمل على هذا منذ 4 ساعات الآن.أي مساعدة سيكون موضع تقدير كبير شكرا

تحرير:لقد غيرت الجبهة تحكم البيئة ديف من أجل استخدام شريط الأدوات التصحيح وجدت أنه لا يهم ما URL يبدو أنه دائما يقول

مباراة طريق "الصفحة الرئيسية" (/) ل / مع المعلمات array ( 'وحدة' => 'الافتراضي', 'العمل' => 'index'،)

بغض النظر عن ما أقوم به ، وحدة دائما يساوي الافتراضي

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

المحلول 2

لقد وجدت الحل.لقد تم إضافة هذه التعليمة البرمجية إلى أعلى index.php

$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];

حاولت كل شيء في Symfony على IIS التعليمي (http://trac.symfony-project.org/wiki/symfonyOnIIS) و لا شيء يحدث فرقا.إذا كان أي شخص آخر يعمل في هذه المشكلة, الرجاء محاولة إضافة رمز أعلاه أولا قبل التلويث مع أي إعدادات أو .قواعد هتكس.

نصائح أخرى

IIS لا يدعم إعادة كتابة عنوان جيد جدا ، الذي هو شرط من Symfony توجيه العمل.أساسا, webserver المفترض أن توجيه جميع طلبات غير موجودة الملفات/مسارات Symfony هو index.php يمر معها الأصلي URL المطلوب.Symfony يترجم هذا الرابط و تطبق قواعد التوجيه.

ولكن من الممكن.سوف تحتاج إلى اتباع هذا: Symfony على IIS

تحقق من جديد في إعادة كتابة Url وحدة IIS:

http://learn.iis.net/page.aspx/734/url-rewrite-module/

حتى أنه يضيف أداة "إدارة IIS" التي الواردات وتحويل mod_rewrite القواعد

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