ตัวสร้าง Redirect สำหรับ Htaccess
ทุกครั้งที่คุณย้ายบล็อก เปลี่ยนรูปแบบ URL หรือรวมหน้าเก่าเข้าด้วยกัน .htaccess ของ Apache จะรับภาระหลักในการจัดการ ตัวสร้างนี้เปลี่ยนการจับคู่แบบง่าย source → target ให้เป็น directive RewriteRule ที่ถูกต้องพร้อม flag ที่เหมาะสม พร้อมวางลงในไฟล์ .htaccess ของเว็บไซต์
วิธีสร้างกฎ redirect
-
1
เลือกชนิด redirect
301 ถาวรสำหรับการย้ายที่ปลอดภัยต่อ SEO, 302 ชั่วคราวสำหรับการทดสอบ A/B และ redirect ตามฤดูกาล
-
2
ป้อน source และ target
path ที่แม่นยำหรือ pattern แบบ regex: path เก่าจะกลายเป็น pattern ของ RewriteRule และ URL ใหม่เป็นปลายทางของ redirect
-
3
ตรวจสอบ flag
แต่ละกฎจะได้รับ flag ที่ถูกต้องโดยอัตโนมัติคือ `[R=301,L]` หรือ `[R=302,L]` จึงใช้งานกับ mod_rewrite ได้ทันที
-
4
คัดลอก directive
บล็อกที่สร้างขึ้นจะอยู่ภายในส่วน `<IfModule mod_rewrite.c>` ของ .htaccess
directive ของ mod_rewrite เทียบกับ mod_alias
Apache มีสองโมดูลสำหรับ redirect เลือกตามความซับซ้อนของกฎ
คู่มือการตัดสินใจ
| ข้อกำหนด | ใช้ | ตัวอย่าง |
|---|---|---|
| URL เก่าที่แม่นยำ → URL ใหม่ที่แม่นยำ | Redirect |
Redirect 301 /old /new |
| คำนำหน้าแบบ wildcard | RedirectMatch |
RedirectMatch 301 ^/blog/(.*)$ /articles/$1 |
| จับคู่ query-string | RewriteRule |
ดูด้านล่าง |
| บังคับ HTTPS | RewriteRule |
RewriteCond %{HTTPS} off + กฎ |
| มีเงื่อนไข (เบราว์เซอร์, cookie) | RewriteRule |
พร้อม RewriteCond |
ตัวอย่าง: บังคับ HTTPS พร้อม www
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
ตัวอย่าง: ย้าย /blog/post-123 ไปยัง /articles/post-123
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [L,R=301]
flag ที่คุณจะพบ
L, คำสั่งสุดท้าย หยุดการประมวลผลกฎต่อไปR=301หรือR=302, redirect ด้วยรหัสสถานะนั้นNC, ไม่สนใจตัวพิมพ์เล็กใหญ่QSA, ผนวก query string เดิมเข้ากับ URL ใหม่NE, ไม่เข้ารหัสอักขระพิเศษใน target ซ้ำ
ข้อผิดพลาดที่พบบ่อย
- ลืม
RewriteEngine On, หากไม่มี RewriteRule จะไม่มีผลใดๆ - ใช้ 302 เป็นค่าเริ่มต้น, Google ถือว่าเป็นแบบชั่วคราว ดังนั้น URL เก่าจึงยังคงติดอันดับอยู่
- redirect แบบต่อกัน (เก่า → กลาง → สุดท้าย), ตั้งเป้าให้กระโดดครั้งเดียวเสมอ การกระโดดเพิ่มแต่ละครั้งสูญเสีย link equity และเพิ่ม latency
คำถามที่พบบ่อย
ใช้ 301 สำหรับการย้ายถาวร: การย้ายเว็บไซต์ การเปลี่ยน slug URL การอัปเกรด HTTPS ใช้ 302 เฉพาะสถานการณ์ชั่วคราว เช่น การกำหนดเส้นทางไปหน้าบำรุงรักษาหรือการแบ่ง A/B เครื่องมือค้นหาถ่ายโอนสัญญาณการจัดอันดับบน 301 ไม่ได้ถ่ายโอนอย่างน่าเชื่อถือบน 302
สาเหตุที่พบบ่อยที่สุดคือการลืม slash นำหน้าใน pattern ใน RewriteRule นั้น pattern จับคู่ path โดยไม่มี slash นำหน้า (เช่น ^blog/) ใน Redirect (mod_alias) นั้น pattern เริ่มต้นด้วย slash (/blog) อย่าปนสองธรรมเนียมนี้
ได้, ใช้ RewriteCond %{QUERY_STRING} ^id=123$ ก่อน RewriteRule Redirect ธรรมดาไม่อ่าน query string มีเพียง RewriteRule เท่านั้นที่จับคู่ได้
ใช่ ในคำขอถัดไป, Apache อ่าน .htaccess ใหม่ในทุกคำขอ ไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ หากไม่มีอะไรเกิดขึ้น ให้ตรวจสอบว่าตั้ง AllowOverride All ใน vhost สำหรับไดเรกทอรีนั้นแล้ว
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
เครื่องมือสร้าง EditorConfig
สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Générateur de redirection Htaccess [FR]
- مولد إعادة توجيه Htaccess [AR]
- Htaccess Weiterleitungs-Generator [DE]
- Htaccess-omdirigeringsgenerator [SV]
- Generador de redirección Htaccess [ES]
- Htaccess 리다이렉트 생성기 [KO]
- Generator Redireksi Htaccess [ID]
- Htaccessリダイレクトジェネレータ [JA]
- Htaccess-redirectgenerator [NL]
- Bộ tạo đường dẫn chuyển hướng Htaccess [VI]
- Generator przekierowań .htaccess [PL]
- Gerador de Redirecionamento Htaccess [PT]
- Htaccess Redirect Generator [EN]
- Generatore di Redirect Htaccess [IT]
- Генератор перенаправлений для Htaccess [RU]
- Htaccess Yönlendirme Oluşturucu [TR]
- Htaccess重定向生成器 [ZH]