Өөрийнхөө сайтыг дахин чиглүүлэхийн тулд mod_rewrite ашигла

Htaccess, mod_rewrite, болон Apache

Веб хуудсууд шилжиж байна. Энэ бол вэб хөгжүүлэлтийн үнэн юм. Хэрэв та ухаалаг бол 301 чиглүүлэгчийг холбоосыг гэмтээхээс сэргийлдэг. Гэхдээ та вэбсайтыг бүхэлд нь шилжүүлэх бол яах уу? Та сайтад нэвтэрч, сайтад байрлах файл бүрийн хувьд дахин чиглүүлэх болно. Гэхдээ энэ нь удаан хугацаа шаардаж болох юм. Аз болоход, htaccess болон mod_rewrite-ийг цөөн хэдэн мөр кодтой бүх вэбсайтыг дахин чиглүүлэх боломжтой.

Өөрийн сайтыг дахин чиглүүлэхийн тулд mod_rewrite-г хэрхэн ашиглах талаар

  1. Хуучин вэб серверийнхээ эхэнд текст засварлагч ашиглан шинэ .htaccess файлыг засварлана уу.
  2. Мөр нэмнэ: RewriteEngine ON
  3. Add: RewriteRule ^ (. *) $ Http://newdomain.com/$1 [R = 301, L]

Энэ мөр нь таны хуучин домэйны бүх файлыг шаардаж, түүнийгээ (ижил файлын нэртэйгээр) шинэ домэйны URL руу нэмнэ. Жишээ нь, http://www.olddomain.com/filename нь http://www.newdomain.com/filename руу шилжих болно. R = 301 нь чиглүүлэлт байнга байхыг серверт хэлдэг.

Хэрэв та бүхэл бүтэн сайтыг авч, шилжүүлсэн бол шинэ шийдэлд хүрэхэд энэ шийдэл төгс болно. Гэхдээ энэ нь ихэвчлэн тохиолддоггүй. Хамгийн нийтлэг тохиолдол бол таны шинэ домэйн шинэ файлууд болон сангуудтай байна гэсэн үг юм. Гэхдээ хуучин домэйн болон файлуудыг санаж буй хэрэглэгчиддээ алдахыг хүсэхгүй байна. Тиймээс, та хуучин бүх домэйнуудыг шинэ домэйнд шилжүүлэхийн тулд өөрийн mod_rewrite-г тохируулах хэрэгтэй:

RewriteRule ^. * $ Http://newdomain.com/ [R = 301, L]

Өмнөх дүрэмтэй адил R = 301 нь үүнийг 301 чиглүүлэлт болгож байна. L нь сервер дээр энэ нь сүүлчийн дүрэм гэж хэлдэг.

Хэрвээ та дахин бичих дүрмийг htaccess файл дээр суулгасан бол, таны шинэ вэбсайт хуучин URL-уудаас бүх хуудсыг авах болно.