سؤال

واحد سريع.

أنا أستخدم إعادة كتابة التعديل ولدي معظم البدائل:

  • مساحة فارغة = _
  • æ = ae
  • Æ = ae

وما إلى ذلك وهلم جرا.

ماذا ستكون الشخصية البديلة الطبيعية لـ /?

شكرًا

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

المحلول

تعتبر الشرطة السفلية بمثابة حرف كلمة، لذلك foo_bar هي كلمة واحدة وليست كلمتين.لكن الواصلة لا تعتبر حرفًا للكلمة، لذلك foo-bar هي كلمتين.

لذلك يجب عليك استخدام الواصلة - أينما تريد فصل جزأين والشرطة السفلية _ أينما تريد توصيل جزأين.في حالة / الذي يستخدم للفصل، وأنا أفضل الواصلة -.

نصائح أخرى

  • Æ = أ

لا تحتاج بالضرورة إلى القيام بذلك.يمكنك وضع أحرف غير ASCII Unicode في عنوان URL تمامًا مثل وحدات البايت المشفرة UTF-8.لذا:

http://en.wikipedia.org/wiki/%C3%86

يظهر في المتصفحات على النحو التالي:

http://en.wikipedia.org/wiki/Æ

ويمكن لصق إما في شريط العناوين.

يمكن ترميز المسافة والشرطة المائلة كـ %20 و%2F.ومع ذلك، لا تزال هذه النماذج تظهر كنسب مئوية في المتصفح، لأنها بخلاف ذلك تكون أحرفًا محجوزة.لذا فهي لا تبدو جميلة تمامًا.هناك مشكلة إضافية مع %2F تتمثل في أن بيئات البرمجة النصية التقليدية المستندة إلى CGI لا يمكنها قراءتها، ويقوم Apache افتراضيًا بحظرها عمدًا لمنع الخلط بين هذه البرامج النصية وترك ثغرات أمنية.

لذلك أقوم بإنشاء رخويات العنوان عن طريق الإزالة الكاملة:

# % ' ( ) ? [ ] (U+00AD soft hyphen)

مع أي أحرف تحكم (U+0000 إلى U+001F باستثناء U+00A0، وU+007F إلى U+00BF).ثم استبدل أي تشغيل لـ:

" $ & * + , / : ; < = > @ \ ^ (U+0020 space) (U+000A newline)

مع تسطير واحد.يؤدي هذا إلى إزالة ضرورة ظهور تسلسل %xx في عنوان URL.(بالنسبة لأحرف Unicode، سيظل هناك تسلسلات %xx، لكن المستخدم لن يراها.)

يمكنك استخدام الواصلة بدلاً من الشرطة السفلية إذا كنت تفضل ذلك، أيهما أفضل.ينبغي أن تكون محركات البحث على ما يرام مع أي منهما.

إيتا إعادة التعليق على إجابة أخرى:

لأنني أستخدم PHP للبحث عن الاسم في قاعدة البيانات الخاصة بي.لذلك يجب تحويل كل حرف مرة أخرى إلى الحرف الأصلي وإلا فلن يتم العثور على أي تطابق.

وفي هذه الحالة، لا يمكنك فعل أي شيء غير قابل للاسترداد بالشخصيات.لا يمكنك تغيير "Æ" إلى "ae"، ويجب ترميز المسافات بـ "%20" والشرطة المائلة بـ "%2F".سيؤدي هذا إلى ظهور عناوين URL قبيحة بعض الشيء، وسيعطيك "%2F" مشكلات في النشر على Apache وIIS.

إذا كنت بحاجة إلى الضغط على عنوان فقط، فستحتاج إلى إضافة عمود (مفهرس فريد) على الارتباط الثابت الذي تمت معالجته للبحث عنه، كما هو مقترح أعلاه.ومع ذلك، لاحظ أنه لا يمكنك بعد ذلك إعادة تسمية/تصحيح عنوان الصفحة، حيث سيؤدي ذلك إلى تغيير الارتباط الثابت، مما يؤدي إلى كسر عنوان URL.

إحدى الطرق الشائعة للتغلب على هذه المشكلة هي تضمين معرف رقمي بالإضافة إلى الارتباط التقريبي (انظر، على سبيل المثال، كيف يقوم SO بذلك).يمكنك أيضًا إعادة التوجيه 301 حيث يكون الاسم الثابت غير صحيح لتحسين محركات البحث الأمثل.

سأستخدم شرطة - حيث يفصل Google كلمات مثل هذه لأغراض تحسين محركات البحث، أو حتى شرطة سفلية _ لأن كلاهما مثالي لسهولة القراءة.

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