كيف يمكنني إعادة توجيه الطلبات من القضبان إلى نطاق فرعي PHP؟
-
21-09-2019 - |
سؤال
لدي موقع ، على سبيل المثال ، example.com ، وهو PHP. أقوم بتحويله إلى القضبان ، ولكن هناك قضايا قيمتها ثلاث سنوات (مثل قضايا المجلات) لا أريد تحديثها. لحسن الحظ ، يبدو أنني اخترت تنسيق URL مفيدًا ، أي. تبدأ جميع المشكلات برقمين ، ثم اسم الملف في معظم الحالات
example.com/00/author-name/index.php
example.com/19/author-name.php
أرغب في إعادة التوجيه عبر 301 جميع طلبات ملفات PHP هذه
Archive.example.com
وجعل المستوى الأعلى مثالًا على سبيل المثال
النطاق الفرعي على Dreamhost ، وسيذهب المستوى الأعلى إلى Heroku. (لذلك هذا ليس جزءًا من السؤال.) شكرًا.
المحلول 2
ActionController::Routing::Routes.draw do |map|
map.connect '20/:name', :controller => :twenty, :action => :show
map.resources :twenty, :as => '20', :only => [:index, :show]
map.connect ':url', :controller => :archive, :action => :show,
:requirements => { :url => /(([0-1]){1}([0-9]){1})(.*)/ }
map.root :controller => :pages, :action => :cover
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
لأي طلب يأتي إلى المجال/00 إلى المجال/19 I إعادة توجيه في وحدة التحكم
redirect_to "http://archive.example.com/#{params[:url]}", :status => 301
نصائح أخرى
ألق نظرة على الإجابات التالية:
هذه الطريقة هي الأسهل وبمكافأة إضافية لإرسال رأس 301. هذا جيد حقًا لتحسين تصنيف كبار المسئولين الاقتصاديين !!!
<?php
$uri = $_SERVER['REQUEST_URI']; // Gets the user's current URI
$redirect = array("/00/author-name/index.php", "/19/author-name.php"); //Define your 301 redirect uri
// Here's the meet and greet of your problem:
if (in_array($uri, $redirect)) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: archive.example.com");
}
?>
تأكد من الحصول على هذا الرمز في بداية البرنامج النصي أو bootstrap
من خلال هذه الطريقة ، لا تقوم فقط بإعادة توجيه جمهورك وفي الوقت نفسه ، فأنت تخطر Google (أو أي محرك بحث) للتغيير. هذا سيجعل جوجل تحديث فهرسه في أي وقت من الأوقات.