การเปลี่ยนเส้นทาง Apache .htaccess 301 เป็นการเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์และการเปลี่ยนเส้นทางแบบถาวร
ดังนั้น ไฟล์ . htaccess จึงเป็นไฟล์กำหนดค่าเซิร์ฟเวอร์ Apacheไฟล์ . htaccesถูกใช้ต่อไดเร็กทอรี
การใช้ ไฟล์ .htaccess ลดประสิทธิภาพของเซิร์ฟเวอร์ ควรหลีกเลี่ยงการใช้ .htaccess เมื่อคุณมีสิทธิ์เข้าถึงไฟล์การกำหนดค่าหลักของเซิร์ฟเวอร์ Apache httpd.confเว็บไซต์โฮสติ้งที่ใช้ร่วมกันมักไม่มีสิทธิ์เข้าถึงไฟล์ httpd.conf และควรใช้ ไฟล์.htaccess
การตอบสนองการเปลี่ยนเส้นทาง 301 นี้แจ้งให้เครื่องมือค้นหาทราบว่าเพจได้ย้ายจาก URL เก่าไปยัง URL ใหม่อย่างถาวร
เครื่องมือค้นหายังถ่ายโอนอันดับของหน้า URL เก่าไปยัง URL ใหม่
เพิ่มโค้ดนี้หรือสร้าง ไฟล์ . htaccess ใหม่ ในไดเร็กทอรี old-page.html
เปลี่ยนเส้นทางถาวรจาก old-page1.html ไปยัง new-page.html
.htaccess:
Redirect 301 /old-page1.html http://www.mydomain.com/new-page1.html
เปลี่ยนเส้นทางถาวรจากหน้าโดเมนทั้งหมดไปที่ newdomain1.com
ไฟล์ .htaccess ควรอยู่ที่ไดเรกทอรีรากของเว็บไซต์เก่า
.htaccess:
Redirect 301 / http://www.newdomain1.com/
หากคุณอัปโหลด ไฟล์ .htaccess ไปยังไดเร็กทอรี old-page.html และการเปลี่ยนเส้นทางไม่ทำงาน โดยทั่วไปหมายความว่าไฟล์ .htaccess ไม่ได้เปิดใช้งานในไฟล์การกำหนดค่าเซิร์ฟเวอร์ Apache httpd.conf
สามารถเปิดใช้ ไฟล์ .htaccess ได้โดยเพิ่มไฟล์ httpd.conf ของเซิร์ฟเวอร์ Apache
httpd.conf:
<Directory /srv/www/rapidtable.com/public_html/web/dev/redirect>
AllowOverride All
</Directory>
ข้อสำคัญ: ไม่แนะนำการตั้งค่านี้เนื่องจากจะทำให้เซิร์ฟเวอร์ Apache ทำงานช้าลง
หากคุณได้รับอนุญาตให้เปลี่ยนไฟล์ httpd.conf คุณควรเพิ่มคำสั่ง Redirect ใน httpd.conf แทน ไฟล์.htaccess
ตรวจสอบว่า mod_rewrite.so ไลบรารี่ของโมดูล rewrite ถูกโหลดโดยเซิร์ฟเวอร์ apache หรือไม่:
$ apache2ctl -M
เพิ่มโค้ดต่อไปนี้ในไฟล์ httpd.conf
หากไม่มีไลบรารีของโมดูลการเขียนซ้ำ mod_rewrite.so ให้ยกเลิกการแสดงความคิดเห็นในบรรทัดแรกเพื่อโหลดโมดูลการเขียนซ้ำ
httpd.conf:
# LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
<Directory /srv/www/rapidtable.com/public_html/web/dev/redirect>
Redirect 301 /old-page.html http://www.mydomain.com/new-page.html
</Directory>
อย่าลืมรีสตาร์ทเซิร์ฟเวอร์ Apache หลังจากอัปเดต httpd.conf:
$ sudo /etc/init.d/apache2 restart
Advertising