تحتاج إلى جعل أحد أعيد كتابة أحدهم يلعب بشكل جيد مع فهم آخر ، ضعيف بشكل محرج لمبادئ الوقوف mod_rewrite في الطريق

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

سؤال

لدي النظام التالي:

Windows Server '03
IIS 6 (اطلاق النار علي)
PHP 5.2.14
WordPress 3.0.1
WPML 1.8.1.2

لقد أضفت WordPress إلى موقع عالي الحركة ، في دليل سنتصل به

http: // thehost/wordpress/

للحصول على ميزات تشبه mod_rewrite ، أستخدم Helicon's ISAPI_Rewrite 3.1.0.76. أنا أستخدمه لتمكين الرابط الرابطين "Pretty" في تثبيت WordPress. القاعدة الفردية هي:

rewriterule ^/wordpress/(؟! index.php) (؟! wp) ([ ^.]*) $/wordpress/index.php/$1 [i ، l

ومع ذلك ، أحتاج إلى إضافة قاعدة أخرى ، ولم يثبت أي من استراتيجياتي المزدوجة للتفكير في ذلك من خلالها من خلالها.

موقعي هو ثنائي اللغة بالكامل. لا توجد صفحات ليست تحت واحدة من الدوران الفرعيين التاليين:

http: // thehost/en/ للغة الإنجليزية ، و

http: // thehost/sp/ للاسبانية.

هذه اتفاقية أهدف إلى الحفاظ عليها ، حتى لتثبيت WordPress. لدي حاليًا نسخة مخترقة إلى حد ما من WPML (WordPress Multilingual Plugin) تعمل ، وهي تعمل بحيث تكون جميع الصفحات والمنشورات - غير محددة للغة - إما / en / أو / sp / في عنوان URL. لقد دفعني هذا إلى الاعتقاد بأنني قريب - ربما يتم إعادة كتابة واحد فقط! - لجعل عناوين URL الخاصة بي WordPress تتوافق مع نفس اتفاقية عنوان URL مثل بقية موقعي. مشكلتي ، كما هو موضح ، هي أنه لا يمكنني تشغيلها.

لذا ، إذا كان لدي عنوان URL هذا في مكان ما في تثبيت WordPress الخاص بي:

http: // thehost/wordpress/en/2010/08/omg-this-post-is-in-English/

كيف يمكنني تحويله إلى

http: // thehost/en/wordpress/2010/08/omg-this-post-is-in-English/

في حين لا تفقد الرابط البرابطات في WordPress؟ لقد تمكنت من تبديل / en / إلى موقعه الصحيح (^/en/WordPress /(.*)/WordPress/en/$ 1) ، لكن لا يمكنني الحصول على قاعدتين للعب بشكل جيد معًا. هذا هو مشكلتي. حسنًا ، هذا وعدد قليل من الآخرين غير مناسبون لـ StackOverflow.com.

شكرا على وقتك.

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

المحلول

حاول تسلسل القواعد مع العلم "C". مثال:

RewriteRule ^/en/wordpress/(.*) /wordpress/en/$1 [C]
RewriteRule ^/wordpress/(?!index.php)(?!wp)([^.]*)$ /wordpress/index.php/$1 [I,L]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top