سؤال

أرى في كثير من الأحيان (إعادة) عناوين بدون معرف في ذلك مثل على بعض المنشآت وورد.ما هي أفضل طريقة من تحقيق ذلك ؟ على سبيل المثال:site.com/product/some-product-name/ ربما للحفاظ على مجموعة من الصفحة أسماء معرفات في ذاكرة التخزين المؤقت إلى تجنب DB الاستعلام على كل صفحة الطلب ؟ كيفية تجنب الصراعات ، وما هي القضايا الأخرى على استخدام عناوين دون الهويات ؟

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

المحلول

باستخدام معرف يعرض نفسه معضلة حقا أنت فقط التحقق من قيمة مختلفة في قاعدة البيانات الخاصة بك.إن "بعض المنتج-اسم" جزء من عنوان URL الخاص بك أعلاه هو أيضا شيء فريد من نوعه.بعض الناس تسميها الرخويات (وورد أيضا permalinks).وذلك بدلا من الاستعلام عن قاعدة بيانات صف الذي يحتوي على معرف خاص ، أنت الاستعلام عن قاعدة بيانات صف معين سبيكة.أنت لا تحتاج إلى معرفة هوية استرداد السجل.

نصائح أخرى

طالما أسماء المنتجات هي فريدة من نوعها فإنه لا ينبغي أن يكون مشكلة.لن يستغرق أطول (على الأقل ليس كبير) للبحث عن المنتج فريدة من نوعها اسم من الرقمية ID طالما عمود مفهرس.

وقد ورد حقل في wp_posts جدول سبيكة.عند إنشاء آخر ، فإنه يخلق سبيكة من عنوان آخر (إذا كان هذا ما لديك تكوين), استبدال المساحات مع شرطات (أو أعتقد أن يؤكد).فإنه يأخذ أيضا من صيغ أو فواصل أو غيرها.وأعتقد أنه أيضا حدود طول العام من سبيكة أيضا.

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

كما كنت قد تكون أو لا تعرف عناوين url التي يتم إعادة كتابتها مع أباتشي mod_rewrite وحدة نمطية.كما ذكر هنا ، وورد في الخلفية ، وتكليف سبيكة بعد التعقيم العنوان أو اسم آخر.

ولكن للإجابة على سؤالك ما تصفه هو وورد' "الروابط الثابتة Permalinks جميلة" ميزة و يمكنك معرفة المزيد عن ذلك في وورد codex.أحدث إصدارات وورد القيام بإعادة كتابة داخليا (أي .هتكس editin, wp_rewrite بدلا من ذلك).والذي هو السبب في أنك سوف ترى نفس الأوامر لأي هيكل الرابط الثابت.

رغم أن, إذا كنت تفعل بعض الحفر يمكنك أن تجد القديمة إعادة كتابة القواعد.على سبيل المثال:

RewriteRule ^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index.php?year=$1&monthnum=$2&day=$3 [QSA,L]

سوف تأخذ على رابط مثل /2008/01/01/ وتوجيهها إلى /index.php?year=2008&monthnum=01&day=01 (و تحميل تاريخ الفئة).

ولكن كما ذكر في الصفحة مثل product-name موجود فقط لأن وورد بالفعل مطهرة عنوان المشاركة وتخزينها على أنها حقل في قاعدة البيانات.

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