اذهب إلى المحتوى

استخدام الروابط الدائمة في ووردبريس


Ali Alrohia

تُشير الروابط الدائمة إلى كل منشور ضمن مدونتك، إضافةً إلى التصنيفات ومكونات أخرى من منشورات المدونة، ويستخدم مُدوّن آخر الرابط الدائم لمقالك ليربط مقاله بمقالك، وهو ما تستخدمه لإرسال رابط عن قصتك في بريد إلكتروني. يجب أن يكون رابط كل منشور دائمًا ولا يتغير، ولذلك سُميت هذه الروابط بالروابط الدائمة.

أنواع الروابط الدائمة

توجد ثلاثة أنواع أساسية في ووردبريس للروابط الدائمة.

1- الافتراضي

يظهر الرابط الافتراضي بهذا الشكل:

http://example.com/?p=N

حيث أن N هي مُعرف المنشور، ويعمل هذا النوع ضمن أي بيئة خادم لكن مظهره ليس بالجيد موازنةً مع الخيارات الأخرى.

2- الروابط الجميلة mod_rewrite

تستطيع تشكيل روابط أجمل باستخدام mod_rewrite أو lighttpd (انظر إلى الروابط الجميلة)، حيث توجد عدة هيئات لكن الأكثر استخدامًا تبدو مثل الآتي:

http://example.com/2012/post-name/

أو مثل:

http://example.com/2012/12/30/post-name

يُمكنك استخدام الروابط الجميلة في:

3- معلومات المسار (روابط شبه جميلة)

تبدو هذه الروابط تقريبًا مثل روابط mod_rewrite لكن مع اختلاف واحد هو وجود /index.php قبلها.

http://example.com/index.php/yyyy/mm/dd/post-name/

لا يوجد أي فرق بين الروابط الجميلة والشبه جميلة ما عدا الفرق السابق حتى من الناحية الوظيفية.

اختيار تركيبة الروابط الدائمة

تستطيع اختيار واحدة من التراكيب الأكثر استخدامًا للروابط الدائمة أو إدخال تركيبة مخصصة ضمن حقل تركيبة مخصصة.

اقتباس

ملاحظة: لا تستخدم رابط الموقع ضمن حقول الروابط الدائمة، بل استخدم وسوم التركيبة الموجودة أو مزيج منها فقط.

ابدأ التركيبة بـ /index.php لتفعيل الروابط شبه الجميلة.

1- وسوم تركيبة الروابط الدائمة

تستطيع استخدام هذه الوسوم لتخصيص الروابط الجميلة وشبه الجميلة، وإليك بعض التلميحات:

  • لا تستخدم رابط موقعك ضمن حقول الروابط الدائمة، إذ تستطيع استخدام واحد من وسوم التراكيب أو مزيج منها.
  • يجب أن تنتهي بنيتك إما بـ %post_id% أو %postname% مثل البنية:
 /%year%/%monthnum%/%day%/%postname%/

وذلك لتُشير الروابط الدائمة إلى كل منشور فردي.

الوصف الوسم
العام الذي نُشر فيه المنشور من أربعة أرقام مثل 2018 %year%
شهر من العام مثل 05 %monthnum%
يوم من الشهر مثل 28 %day%
ساعة من اليوم مثل 15 %hour%
دقيقة من الساعة مثل 43 %minute%
ثانية من الدقيقة مثل 33 %second%
رقم تعريف المنشور الفريد مثل 423 %post_id%
نُسخة مُنقحة من عنوان المنشور (الاسم اللطيف للمنشور في صفحة تحرير الصفحة أو المقال). فإذا كان العنوان "هذا منشور رائع" سوف يصبح هذا-منشور-رائع ضمن الرابط. %postname%
نُسخة منقحة من اسم التصنيف (الاسم اللطيف للمنشور في صفحة تحرير التصنيف). تظهر التصنيفات الفرعية كمسارات فرعية ضمن الرابط. %category%
نُسخة منقحة من اسم المؤلف %author%

2- تركيبة التصنيف وتركيبة الوسم

إن تركيبة التصنيف وتركيبة الوسم هي عبارة عن بوادئ تُستخدم في رابط التنصيف والوسم والذي يبدو هكذا:

example.net/wp/category_base/category_name
 example.net/wp/tag_base/tag_name

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

3- استخدام %category% مع عدة تصنيفات ضمن المنشور

عند تعيينك عدة تصنيفات للمنشور؛ يُمكن أن يظهر تصنيف واحد فقط ضمن الروابط الدائمة، حيث تُرتب التصنيفات حسب الأحرف الأبجدية، كما ينطبق الأمر نفسه ضمن التصنيفات الفرعية. (انظر لإدارة التصنيفات). يُمكن الوصول للمنشور من أي تصنيف،كما هو الحال عندما ينتمي لتصنيف واحد، كما تستطيع تجريب إضافة WP Category Permalink إذا كنت تريد اختيار التصنيف الذي يظهر ضمن الرابط الدائم.

استخدام الروابط الدائمة الجميلة

1 المتطلبات:

  • خادم Apache مُثبت عليه وحدة mod_rewrite.
  • ضمن المسار الرئيسي لووردبريس.
  • يجب تفعيل خيار FollowSymLnks.
  • السماح بالتوجيه FileInfo مثل AllowOverride FileInfo or AllowOverride All.
  • ملف htaccess، حيث سيحاول ووردبريس إنشاء واحد إذا كان الملف مفقودًا عند تفعيل الروابط الدائمة الجميلة.
  • إن كنت تريد أن يُحدث ووردبريس ملف htaccess تلقائيًا سوف يحتاج صلاحية الكتابة على الملف.
  • عليك إضافة ما يلي عند استخدام خادم NGINX.
location / {
           try_files $uri $uri/ /index.php?$args;
}
  • بالنسبة لخادم Hiawatha وهو خادم يُعنى بالأمان كثيرًا، فيجب استخدام قاعدة UrlToolkit التالية:
UrlToolkit }
   ToolkitID = wordpress
   RequestURI exists Return
   Match .*\?(.*) Rewrite /index.php?$1
   Match .* Rewrite /index.php
{
  • يجب على مستخدمي ماك الذين يشغلون ووردبريس على حواسيبهم تعديل ملف httpd.conf لتغيير سطر AllowOverride لقراءة AllowOverride All ضمن المسار التالي:
 /Library/WebServer/Documents

بالنسبة لنظام Mac OS X 10.2.x وما بعد، فإن الملف موجود في المسار الآتي:

 ‎/private/etc/apache2/users/[your-username].conf

وإلا سوف تجده في ‎/etc/httpd/httpd.conf.

سوف يولد ووردبريس قواعد rewrite عند إنشاء أو تحديث تركيبة الروابط الدائمة الجميلة بهدف إدخالهم ضمن ملف ‎.htaccess وفي حال لم يتمكن من ذلك، فسوف يطلب منك تحديث ملف htaccess ويُظهر لك كل القواعد المطلوبة لتنسخها وتلصقها ضمن الملف (ضع هذه القواعد في نهاية الملف).

سوف تحتاج لتنفيذ هذا مرةً واحدةً لأن ووردبريس يُنفذ عملية الكتابة داخليًا. وفي حال نقلت يومًا ما المسار الرئيسي لووردبريس، فسوف تحتاج لتكرار الخطوة السابقة.

يتعامل ووردبريس جيدًا مع ملف ‎htaccess الموجود مُسبقًا، حيث لن يحذف أي قواعد أو توجيهات موجودة فيه مسبقًا، وإذا كنت تملك قواعد mod_rewrite أخرى، فضعها قبل القواعد التابعة لووردبريس.

أين ملف htaccess الخاص بي

يجب أن تواجد ملفي index.php و‎htaccess معًا ضمن نفس المسار الذي يُشير إليه رابط عنوان الموقع في صفحة عام من إعدادات ووردبريس. يُحتمل ألا يكون الملف مرئيًا للعلن عند الاتصال عبر FTP لأن اسمه يبدأ بنقطة، إلا في حال غيرت إعدادات برنامج FTP الذي تستخدمه لتظهر جميع الملفات بما فيها المخفية، ويُمكن ألا تُظهر لك بعض الاستضافات أو تسمح لك بتعديل ملف ‎htaccess إن ثُبت ووربدريس عبر تطبيقات الاستضافة.

إنشاء وتحرير ملف htaccess

يجب عليك إنشاء ملف htaccess إذا كنت لا تملك واحدًا، وهذا ممكن عبر اتصال shell أو ssh للوصول للخادم، حيث يكفي كتابة الأمر touch .htaccess لإنشاء الملف. وإذا كنت تستخدم اتصال FTP لنقل الملفات، فأنشئ ملفًا على حاسوبك المحلي واسمه htaccess_old، ثم ارفعه للمسار الرئيسي لتثبيت ووردبريس، بعدها أعد تسميته لـ htaccess.

تستطيع تحرير ملف ‎htaccess باستخدام FTP أو shell أو ربما لوحة تحكم الاستضافة، كما يجب أن تكون قواعد إعادة كتابة الروابط الدائمة التالية موجودةً ضمن ملف ‎.htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

سوف يتوقف موقعك إذا تضمن ملف htaccess أي أخطاء لتظهر لك رسالة Internal Server Error 500، وعندها سوف تُضطر لاستخدام اتصال FTP أو لوحة تحكم الاستضافة لحذف ملف htaccess التالف.

تحديث ملف htaccess تلقائيا

سوف يطلب منك ووردبريس تحديث ملف ‎htaccess إذا لم يتمكن من تحديثه تلقائيًا، حيث سوف تجد رسالةً في أسفل صفحة الروابط الدائمة في قسم الإعدادات.

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

وبعد تطبيق الروابط الدائمة، عليك تغيير الصلاحيات لصلاحيات أشد أمنيًا مثل 660 أو 644 لمنع الآخرين ضمن الخادم من الوصول لهذا الملف.

إصلاح مشاكل الروابط الدائمة

هناك عدة مشاكل تخص الروابط الدائمة، والتي تتطلب إصلاحًا، وفيما يلي بعض الطرق لإصلاح مجموعة من الأخطاء.

1- إصلاح مشكلة توليد ملف htaccess

توجد عدة أسباب يُمكن أن تمنع ووردبريس من إنشاء ملف htaccess أو التعديل عليه إن وجد. تابع الخطوات التالية خطوةً بخطوة دون الانتقال للخطوة التالية إلا في حال فشلت السابقة على حل المشكلة:

  • تغيير صلاحيات الملف: يجب عليك تغيير الصلاحيات باستخدام chmod إلى 666، وذلك لتتمكن من تعديل الملف باستخدام محرر قالب ووردبريس، لكن لا يُنصح بهذا لأن هذه الخطوة تسمح لأي مستخدم ضمن مدونتك (يستطيع تعديل القوالب) بتعديل هذا الملف، كما تستطيع تغيير الصلاحيات إلى 660 لجعل الملف قابلًا للكتابة من قبل الخادم، لكن هذا يعود بنا لمحدودية الصلاحيات والتي ربما هي سبب المشكلة.
  • حجب من قبل الخادم: يُحتمل أن تكون استضافتك قد حَجبت المتغير SERVER_SOFTWARE، وهذا يُسبب فشل ووردبريس في توليد ملف htaccess. إذا كنت واثقًا من أن خادمك يعمل على Apache، فتستطيع إجبار ووردبريس على الاعتقاد أن خادمك يعمل على Apache بتعديل ملف wp-includes/vars.php. اتّبع الخطوات التالية لتنفيذ التعديل:
    • افتح ملف wp-includes/vars.php باستخدام محرر الملفات الموجودة ضمن لوحة تحكم ووردبريس، وللوصول لهذا المحرر عليك تسجيل الدخول لووردبريس، ثم الضغط على "إدارة"، ثم "ملفات". بعدها توجه لأسفل الصفحة واكتب wp-includes/vars.php من مربع النص أسفل عبارة "ملفات أخرى" وابحث عن:
$is_apache = strstr($_SERVER[‘SERVER_SOFTWARE’], Apache’) ? 1 : 0;

واستبدله بـ:

// $is_apache = strstr($_SERVER[‘SERVER_SOFTWARE’], ‘Apache’) ? 1 : 0;

أضف سطرًا جديدًا تحت

/ $is_apache = strstr($_SERVER[‘SERVER_SOFTWARE’], Apache’) ? 1 : 0;

واكتب

$is_apache = 1;
  • مستخدمو XAMPP (ويندوز): لن يكون mod_rewrite في بعض إصدارات XAMPP مُفعلًا افتراضيًا، ولتفعيله لتمكين ووردبريس من الكتابة على ملف ‎htaccess وإنشاء الروابط الدائمة الجميلة المطلوبة، عليك فتح الملف ‎/apache/conf/httpd.conf وإزالة التعليق عن السطر الآتي:

 

 LoadModule rewrite_module modules/mod_rewrite.so

وهنا يجب عليك حذف إشارة # الموجودة في بداية السطر.

  • مستخدمو WAMP (ويندوز): لن يكون mod_rewrite أو السماح باتباع SymLink مُفعلًا افتراضيًا في بعض إصدارات WAMP، ولتفعيل الميزات المطلوبة، عليك التوجه إلى apache/conf/httpd.conf وفتحه بمحرر نصوص، ثم إزالة التعليق عن السطر الآتي:

 

 LoadModule rewrite_module modules/mod_rewrite.so

ويجب عليك هنا حذف إشارة # الموجودة في بداية السطر. يوجد في أسفل الملف قسم يبدأ بالسطر Options FollowSymlinks أيضًا، عليك بتغيير السطر الثاني ضمن هذا القسم من AllowOverride none إلى AllowOverride all، ثم احفظ الملف وأعد تشغيل WAMP. يجب أن تعمل الروابط الدائمة الآن.

نصائح

تجنب التفسير مثل رابط أرشيف

من المُحتمل ألا تنشر أكثر من منشور في اليوم، ولهذا فإن استخدام الوسوم الآتية:

%year%%monthnum%%day%

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

%year%%monthnum%%day%%hour%.

تحقق من تركيبة الروابط الدائمة

طريقة للتحقق إذا كانت المدونة تمتلك تركيبة روابط دائمة هي:

<?php if ( get_option('permalink_structure') ) { echo 'permalinks enabled'; } ?>

ترجمة -وبتصرف- للمقال Using Permalinks من موقع ووردبريس.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...