هل يجب علي استخدام المسار النسبي للصفحات الموجودة داخل الموقع؟أو لا يهم؟

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

سؤال

كنت أتساءل فقط ما هي أفضل طريقة لتحديد عناوين URL التي تربط الصفحات داخل اسم المجال.على سبيل المثال للنطاق www.example.com ..يمكنني الحصول على روابط مثل

<a href="http://www.domain.com/test.html">test</a>

أو

<a href="test.html">test</a>

إحدى المشكلات التي واجهتني هي أنه أثناء استخدام القوالب ..إذا كنت أستخدم قالب html مع روابط نسبية، فلا يمكنني استخدام نفس القالب للدليل www.example.com/directory2 لأن الروابط الشائعة لن تعمل مع تلك الصفحة ..لا ملفات CSS ولا جافا سكريبت.

اضطررت إما إلى تكرار القالب أو تعيين المسارات تمامًا.اخترت المسارات المطلقة.لذلك تبدأ مسارات القالب بـ http://www.mydomain.com/ ..هل يسبب هذا أي مشكلة في الأداء مثل طلبات http المتعددة أو حل المجال أو أي مشكلة أخرى؟ما هو اقتراحك/تعليقك على هذا؟

شكرًا.

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

المحلول

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

ومع ذلك، إذا حل النموذجيه الخاص بك يعمل بشكل أفضل مع ارتباطات مطلقة، فلا يسمع لعصا معهم. مبدئيا، يمكن ارتباطات مطلقة تعمل لصالحك إذا تم كشط محتوى الموقع الخاص بك عن طريق ربط العودة إلى الصفحة الأصلية (المصدر: <لأ href = "http://www.navegabem.com/linking-strategy.html" يختلط = "نوفولو noreferrer "> http://www.navegabem.com/linking-strategy.html ).

نصائح أخرى

بالتأكيد استخدم المسارات النسبية.

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

ويمكنك قضاء كل ما تبذلونه من مسارات

eg <a href="/test.html">test</a>

وهذا سيكون نفس وضع المجال.

[تحرير] يمكنك استخدام إعادة كتابة وزارة الدفاع لثم نقل الموقع إذا لزم الأمر إلى مجلدات مختلفة - راجع http://httpd.apache.org/docs/2.0/mod/ mod_rewrite.html # rewritebase

وجوش

وأعتقد أنك يجب أن تستخدم مسار نسبي. لأنه إذا ذهب / تغيرت، موقع نطاقك لا تزال تعمل بشكل صحيح، وأكثر من ذلك، فإن المسار في أتش تي أم أل تكون أقصر من ذلك بكثير.

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

ومثل ذلك عندما يكون هناك تغيير في الهياكل، عليك ببساطة لتعديل menu.shtml

ويساعد هذا الأمل

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

دائمًا ما تشير مساراتك النسبية إلى الموارد (الصفحات وملفات CSS وملفات JS) الموجودة في موقعك.

الأسباب:

  1. يتيح لك هذا تغيير اسم المجال الخاص بك في أي وقت دون تكبد قدر كبير من الصداع
  2. يتيح لك إعادة هيكلة صفحاتك بسهولة بالغة.

ومع ذلك، إذا كان موقع الويب الخاص بك بهذا الحجم حقًا، فستحتاج إلى قاعدة بيانات من الروابط والروابط حتى لا تضيع الروابط أثناء نقل الموارد.هذا ما تفعله Microsoft على موقع microsoft.com.

jrh

وأنا مع جوش .... تحديد المسارات النسبية إلى جذر التطبيق: /myfolder/myfile.html

في حالتي، وهذا له ميزة إضافية تتمثل في العمل على الجهاز تطوري، حيث كل موقع هو تطبيق (IIS) خارج الموقع الافتراضي الخاص بي، وكذلك العمل على الموقع مباشرة نفسها.

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