كيف يمكنني استخدام mod_rewrite لتغيير المسار واسم الملف لعنوان URL

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

  •  01-07-2019
  •  | 
  •  

سؤال

أريد أن آخذ عنوان url:http://www.mydomain.com/signup-12345

وفعلا أعطهم:http://www.mydomain.com/signup/?aff=12345

ليس لدي تاريخ مع mod_rewrite، مساعدة!

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

المحلول

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

لذلك على سبيل المثال:

إذا أردت إعادة كتابة عنوان URL:http://www.example.com/signup-قديم-النصي.asp?aff=12345

ل:http://www.example.com/signup-جديد-النصي.بي أتش بي?affID=12345

يمكنك استخدام:

RewriteCond %{query_string}& ^aff=((.+&)|&)$   
RewriteRule ^/signup-old-script.asp$    /signup-new-script.php?affID=%2 [L,R]

لاحظ ال % قم بتسجيل الدخول إلى قاعدة إعادة الكتابة بدلاً من $ لافتة.

كان علي أن أفعل ذلك حتى أتمكن من دعم خرائط الفلاش القديمة في موقع جديد يحتوي على روابط لملفات ".cfm" ذات معرف في سلسلة الاستعلام.

نصائح أخرى

جرب هذا :

قاعدة إعادة الكتابة ^/signup-(\d+)/$ /signup/?aff=$1 [I]

على حد علمي،

تؤدي العلامة إلى تجاهل RewriteCond. - لـ "تجاهل حالة الأحرف" - من IsapiRewrite الإصدار 2

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