it-swarm.asia

إنشاء 301 عمليات إعادة التوجيه لعناوين البريد والصفحة والفئة والصورة؟

أخشى أن يكون السؤال أكبر من اللازم هنا ، لذا إذا كان الأمر كذلك ، فلا تتردد في إخبارنا عن مكان آخر للتعلم.

مساعدة في إعادة التوجيه

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

إذا كان أي شخص يعرف حقا الإضافات البسيطة لهذا ، سأكون ممتنا للغاية. لقد كنت أبحث في المكوّن الإضافي Redirections ، لكنني أجده مربكًا للغاية (الصداع!). في أي حال ، فإن أفكاري أدناه (المصادر متبوعة بـ => ثم المستهدفة) هي ما جمعته من إرشادات إعادة التوجيه ولقطات الشاشة والبرامج التعليمية الأخرى التي بحثت عنها. أنا متأكد من أنها ستكون قابلة للتطبيق بغض النظر عما إذا كنت أضعها مباشرة في ملف htaccess أم تستخدم Redirections أو مكون إضافي آخر؟

لذا ، إليك ما أحاول إنجازه وكيف أعتقد أنه يجب القيام به:

  1. لنقل Wordpress من الدليل الفرعي إلى الجذر:

    /wp /(.*) => /$1 Budap.____.]
  2. بالنسبة لجميع الصفحات الموجودة حاليًا ضمن الدلائل الفرعية في الجذر ، أريد حذف و/أو دمج مجموعة من الصفحات في صفحة واحدة من أعلى المستويات:

    /products-directory /(.*) =>/products-top-page-page 
     
    /about-directory /(.*) =>/about-top- مستوى الصفحة 
     
    /services-directory /(.*) =>/services-top-page-page 
    
  3. بالنسبة إلى مجموعة من صفحات المستوى العلوي المطابقة لنمط معين ، أريد توجيهها إلى فئات محددة ، على سبيل المثال تبدأ أسماء الملفات جميعًا بنفس الكلمتين التاليتين مثل: نفس كلمة التباين - vari.html وأريد أن يحتفظوا بأسماء ملفاتهم الحالية - إذا قمت بتعيين الروابط الدائمة الخاصة بي بحيث تنتهي بـ `. ، أعتقد:

    /same-Word (. *) => /newcategory/$1 Budap.____.]

    كيف يمكنني إنشاء القاعدة إذا لم يكن لدي روابط دائمة تنتهي بـ ".html"؟ (أعتقد أنني رأيت! هي الشخصية "غير" ، ولكن لست متأكدًا من كيفية استخدامها هنا - هل هي):

    /same-Word (. *) => /newcategory/$1!\.html Budap.____.]
  4. وبعد ذلك ، بمجرد تحديد الصفحات المحددة وإعادة توجيهها على النحو الوارد أعلاه ، سأحذف كل البقية (البيانات المهملة) وأريد إرسال مستخدمين إلى الصفحة الرئيسية (أو ربما منشور عشوائي؟).

    لذلك ، سؤالين هنا:

    1. كيف أقوم بإنشاء القاعدة التي تقول "لكل شيء ما عدا الملفات المعاد توجيهها بالفعل على النحو الوارد أعلاه ، افعل ذلك"

    2. كيف يمكنني إيقاف هذه القاعدة من التقديم على الصفحات الجديدة والمشاركات التي أقوم بإنشائها من الآن فصاعدًا؟

    إحدى الأفكار هي أنه من خلال الحذف ، سأحصل على 404 صفحة غير موجودة ، لذلك يجب أن أقوم بإنشاء قاعدة للصفحة 404 نفسها؟ هل هذا ما أريد القيام به؟

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

  5. أيضًا ، هل يجب أن أنقل الصور الموجودة وما إلى ذلك في دليل محتوى wp أو أتركها في الدليل/المصادر الفرعية الحالية؟ ميلي هو أن أذهب حقًا إلى "عملية تنظيف" - تخلص من كل شيء يبدو غير مرتب ، لكنني لست متأكدًا مما إذا كان هذا العمل سيكون أكثر مما يستحق ...

شكرا مقدما على أي وجميع التوجيهات.

5
CJN

مرحبًاCJN: ،

سؤالك الأول ، نقل دليل WordPress يتم التعامل معه بشكل مختلف عن الباقي.

نقل WordPress من دليل فرعي إلى الجذر:

انتقل إلى /wp-config.php وأضف ما يلي لتعريف (باستخدام نطاق عميلك بدلاً من example.com بالطبع):

define('WP_SITEURL', 'http://example.com');
define('WP_HOME',    WP_SITEURL);

301 عمليات إعادة التوجيه باستخدام template_loader و wp_safe_redirect()

يمكنك حل معظم الأسئلة المتبقية عن طريق تعديل .htaccess كما @ Kau-Boy يوضح كيف ، أو يمكنك القيام بذلك فقط في PHP . يحتوي WordPress على ربط template_redirect يمكنك استخدامه لهذا بالإضافة إلى وظيفة wp_safe_redirect() لإعادة التوجيه باستخدام رمز حالة HTTP 301. كما ترون ، فإن الباقي هو مجرد وحشية بالنسبة إلى الكود PHP وقليلًا من سحر التعبير العادي. يمكنك وضع هذا الكود عمليًا في أي مكان في ملف functions.php الخاص بالموضوع:

add_action('template_redirect','my_template_redirect');
function my_template_redirect() {
  $redirect_to = false;
  list($url_path,$params) = explode('?',$_SERVER['REQUEST_URI']);
  $path_parts = explode('/',trim($url_path,'/'));
  switch ($path_parts[0]) {
    case 'products-directory':
      $redirect_to = '/products-top-level-page';
      break;
    case 'about-directory':
      $redirect_to = '/about-top-level-page';
      break;
    case 'services-directory':
      $redirect_to = '/services-top-level-page';
      break;
    default:
      if (preg_match('#same-Word(.*)#',$path_parts[0],$match)) {
        $category = str_replace('.html','',$match[1]);
        $redirect_to = "/newcategory/{$category}";
      } else {
        // Do whatever else you need here
      }
  }
  if ($redirect_to) {
    wp_safe_redirect($redirect_to,301);
    exit();
  }
}

النظر في سهولة الاستخدام وليس فقط كبار المسئولين الاقتصاديين؟

أود أن أسأل إذا كنت تريد حقا أن تفعل # 2؟ المنظمة البحرية الدولية التي تجعل الموقع أقل قابلية للاستخدام للمستخدمين أكثر من الموقع الأمثل فقط لكبار المسئولين الاقتصاديين المتصورة (وكمؤسس ومرة ​​واحدة في تنظيم هذه المجموعة أنا لست من كبار المسئولين الاقتصاديين neophyte.) بدلاً من ذلك أراك فقط إسقاط "-directory" من الجزء الأول من مسار URL. JMTCW على أي حال.

توليد 404 صفحة؟

إذا كنت بحاجة إلى إصدار 404 ، يمكنك القيام بذلك باستخدام العنوان:

header("HTTP/1.0 404 Not Found");
exit;

ومع ذلك أعتقد أن هذا ليس ما تريد القيام به ، صحيح؟ أعتقد أنه يمكنك تحقيق أي منطق إعادة توجيه تحتاجه عن طريق تعديل _ PHP الوظيفة أعلاه والرد على طلب HTTP مع 301 ، أليس كذلك؟

استيراد الصور إلى مكتبة الوسائط وإعادة توجيه 301

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

Hardcoding Image URL 301 يعيد التوجيه باستخدام صفيف

بعد ذلك نظرًا لأنه سيكون شيء لمرة واحدة يمكنك ببساطة ترميز عناوين URL للصور الخاصة بك في صفيف / واستخدامها لمطابقة وظيفة إعادة التوجيه. قد يبدو تعديل الافتراضي في بيان التبديل من التعليمات البرمجية أعلاه كما يلي:

default:
  if (preg_match('#same-Word(.*)#',$path_parts[0],$match)) {
    $category = str_replace('.html','',$match[1]);
    $redirect_to = "/newcategory/{$category}";
  } else {
    $images = array(
      '/images/image1.jpg' => '/wp-content/uploads/2010/08/image1.jpg',
      '/images/image2.jpg' => '/wp-content/uploads/2010/08/image2.jpg',
      '/images/image3.jpg' => '/wp-content/uploads/2010/08/image3.jpg',
      );
    if (in_array($url_path,$images)) {
      $redirect_to = $images[$url_path];
    } else  {
      // Do whatever else you need here
    }
  }

باستخدام preg_match() إلى 301 إعادة توجيه الصور حسب نمط عنوان URL

بالطبع إذا اتبعت عناوين URL للصور نمطًا ، يمكنك تبسيط الكثير من صفيف الصور أو جميعه باستخدام دالة preg_match() بدلاً من ذلك ، مثل ذلك:

if (preg_match('#^/images/(.*)$#',$url_path,$match)) {
  $redirect_to = "/wp-content/uploads/2010/08/{$match[1]}";
}

أتمنى أن يساعدك هذا؟

8
MikeSchinkel

هناك مكون إضافي للتغيير من دعامة الرابط الثابت إلى أخرى ، لكنني متأكد تمامًا من أن هذا لن يكون كافياً لاحتياجاتك. سوف تضطر إلى استخدام بعض قواعد إعادة كتابة htaccess. أحاول أن أقدم لكم بعض الأمثلة عن حاجتك (لست متأكداً مما إذا كانت كلها صحيحة). قم بتضمين كل هذه الخطوط في ملف يسمى ". htaccess" في جذر الخادم الخاص بك. من فوق قواعد وورد:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
# your rules start here. Keep the following lines that has been produced by wordpress
RewriteBase /
RewriteRule wp/(.*)$ /$1 [R=301]
RewriteRule /products-directory/(.*)$ /products-top-level-page [R=301]
RewriteRule /about-directory/(.*)$ /about-top-level-page [R=301]
RewriteRule /services-directory/$ /services-top-level-page [R=301]
RewriteRule /same-Word(.*)$ /newcategory/$1 [R=301]

تخبر العلامة [R = 301] متصفح العميل أو محرك البحث ، بأنه إعادة توجيه دائمة.

قد ترغب في تحديث جميع الروابط الدائمة في قاعدة بيانات وورد. كتبت مقالة حول تحديث السلسلة في قاعدة البيانات . لسوء الحظ لم أترجم المنشور ، حتى الآن. لكن يجب أن تكون الاستعلامات واضحة ، وإلا استخدم مستندات MySQL.

1
2ndkauboy

أستخدم هذا: عمليات إعادة التوجيه البسيطة 301 البرنامج المساعد - استخدمه لبضع صفحات سابقة ، وسأقوم قريبًا بنقل موقع تصميم الويب الخاص بي مع جميع ملفاته ومجلداته داخل ملفات WP الخاصة بي.

0
Steve Shearer