مرتبط بـ سؤال آخر - إذا كنت بحاجة إلى تنفيذ إعادة كتابة عنوان URL في أسرع وقت ممكن ، فما هي بعض الطرق التي استخدمتها أو تعرفها والتي يمكن أن تزيد من سرعة ذلك؟
تمكنا من القيام بمئات المنتجات في أقل من 8 ساعات. هنا كان سيناريونا:
كان لدينا:
بدا جدول منتجاتنا مثل هذا:
_ID | Product Name | Description | etc
-------------------------------------
001|Product 1 | This is... | etc
002|Product 1 | This is... | etc
003|Product 1 | This is... | etc
_
لذلك كتبنا برنامجًا دفعيًا صغيرًا من خلال جدول products
الخاص بنا وإنشاء إدخالات في ملف _httpd.ini
_ (إصدار ISAPI Rewrite الخاص بـ _.htaccess
_) ، بحيث انتهى بنا المطاف بملف مع مئات الإدخالات مثل هذا:
RewriteRule (/product-1/) /DLLFolder/Requester.dll?APPLICATION=MyApp&PROGRAM=Products&ARGUMENTS=-N001 [I,O,U]
* يرجى الاطلاع على إخلاء المسئولية
لا تتغير منتجاتنا كثيرًا ، لذلك نعيد تشغيلها يدويًا في كل مرة نضيف فيها شيئًا ما. ليست أنيقة ، ولكن هذا عن إنجازها بسرعة/رخيصة.
بعد ذلك ، في كل مكان تم فيه طباعة الروابط الخاصة بنا على المنتجات ، تأكدنا فقط من أن الروابط قد تم إخراجها إلى عنوان URL الكامل لها.
استغرق هذا حوالي 8 ساعات في المجموع.
قاعدة واحدة عامة لإعادة كتابة عنوان URL تبدو كالتالي:
RewriteRule (/products/)(.*/)(.*) /DLLFolder/Requester.dll?APPLICATION=MyApp&PROGRAM=Products&ARGUMENTS=-N$3 [I,O,U]
* يرجى الاطلاع على إخلاء المسئولية
هذا يعني أننا يمكن أن يكتب:
_/products/my/thing/whatever/the/hell/i/want/123
_
وسيكون إعادة كتابة إلى URL الصحيح. ثم إنها مجرد مسألة تغيير إخراج روابط URL الخاصة بك.
* إخلاء المسئولية: مهاراتي في regex هي صدئة للغاية وأنا جعلت من هؤلاء على الفور. قد تكون خاطئة. قد تختلف الأميال الخاصة بك على regex الفعلية ، ولكن المفهوم لا يزال قائما.