การตั้งรหัสผ่านด้วย .htaccess คือเทคนิคการเพิ่มความปลอดภัยสำหรับเว็บไซต์ที่ใช้โฮสติ้ง Apache หรือ LiteSpeed โดยสามารถล็อกโฟลเดอร์ด้วยชื่อผู้ใช้และรหัสผ่าน ป้องกันการอ่านไฟล์ .htaccess จากภายนอก บังคับใช้ HTTPS และจำกัดการเข้าถึงที่ไม่พึงประสงค์ได้อย่างรวดเร็วและมีประสิทธิภาพ วิธีที่นิยมที่สุดคือการใช้ .htaccess เพื่อป้องกันโฟลเดอร์ด้วย Basic Auth และเก็บรหัสผ่านในไฟล์ .htpasswd อย่างไรก็ตาม Basic Auth ไม่ได้เข้ารหัสข้อมูลโดยตรง ดังนั้นต้องใช้ควบคู่กับ SSL Certificate และทำงานบน HTTPS เสมอเพื่อความปลอดภัยสูงสุด ใบรับรอง SSL โฮสติ้งเว็บที่ปลอดภัย
หลายคนคิดว่าความปลอดภัยเว็บไซต์ต้องใช้ไฟร์วอลล์ขนาดใหญ่ โปรแกรมซับซ้อน หรือปลั๊กอินราคาแพง แต่ความจริงแล้ว .htaccess ที่ตั้งค่าอย่างถูกต้องคือด่านแรกของการป้องกัน โดยเฉพาะสำหรับโฮสติ้งแชร์, WordPress, เว็บ PHP และเว็บไซต์ธุรกิจขนาดเล็ก ไฟล์นี้สามารถใช้ล็อกโฟลเดอร์สำคัญ (เช่น admin หรือ panel) ด้วยรหัสผ่าน, บังคับ HTTPS, ปิดการแสดงรายการไฟล์, จำกัดการเข้าถึงไฟล์สำคัญ, ลดการ hotlink และกำหนด security headers ได้อย่างง่ายดาย
คู่มือนี้จะสอนการตั้งรหัสผ่านด้วย .htaccess ทีละขั้นตอน พร้อมอธิบายคำสั่งความปลอดภัยที่ใช้จริง และตัวอย่างโค้ดที่สามารถนำไปปรับใช้ได้ เหมาะกับโฮสติ้งที่รองรับ Apache mod_rewrite, mod_auth_basic และ mod_headers หรือ LiteSpeed ที่รองรับกฎเดียวกัน ก่อนทดสอบบนเว็บไซต์จริง แนะนำให้สำรองไฟล์และทดลองใน subdomain หรือ staging ก่อนเสมอ การจัดการโดเมน การสำรองข้อมูลเว็บไซต์
.htaccess คืออะไร และทำไมจึงสำคัญกับความปลอดภัย?
.htaccess คือไฟล์กำหนดพฤติกรรมของเว็บเซิร์ฟเวอร์สำหรับโฟลเดอร์และ subfolder ที่วางไว้ เมื่อวางที่ root (เช่น public_html) จะครอบคลุมทั้งเว็บไซต์ แต่หากวางในโฟลเดอร์ย่อย จะมีผลเฉพาะส่วนนั้น
การควบคุมการเข้าถึงระดับเซิร์ฟเวอร์ด้วย .htaccess ทำให้สามารถป้องกันการโจมตีได้ก่อนถึงโค้ดแอปพลิเคชัน เช่น หากล็อก admin ด้วยรหัสผ่าน ผู้ไม่หวังดีก็จะติดด่านตรวจสอบก่อนถึง WordPress, PHP หรือแผงควบคุม ลดโอกาส brute force และป้องกันการ exploit ช่องโหว่
จุดเด่นของ .htaccess ด้านความปลอดภัย มีดังนี้:
- ตั้งกฎการเข้าถึงโดยไม่ต้องแก้โค้ดแอปพลิเคชัน
- ล็อกโฟลเดอร์ด้วยชื่อผู้ใช้และรหัสผ่าน
- บังคับใช้ HTTPS อัตโนมัติ
- ปิดการแสดงรายการไฟล์และจำกัดการเข้าถึงไฟล์สำคัญ
- เพิ่ม security headers เพื่อความปลอดภัยของ browser
- สามารถจำกัดตาม IP, นามสกุลไฟล์ หรือวิธีการ request ได้
อย่างไรก็ตาม .htaccess ไม่ใช่ทั้งหมด ต้องใช้คู่กับซอฟต์แวร์ล่าสุด, นโยบายรหัสผ่านที่ดี, สำรองข้อมูลสม่ำเสมอ, โฮสติ้งที่เชื่อถือได้, WAF, สแกนมัลแวร์ และ SSL Certificate เพื่อให้ได้ผลสูงสุด ความปลอดภัยของโฮสติ้ง ความปลอดภัย WordPress
หลักการล็อกด้วย .htaccess: Basic Auth และ .htpasswd
คำว่า .htaccess ล็อกด้วยรหัสผ่าน มี 2 ความหมายหลัก คือ 1) ล็อกโฟลเดอร์ให้ต้องใส่ user/pass ก่อนเข้า 2) ป้องกันการอ่านไฟล์ .htaccess เองจากภายนอก ข้อแรกใช้ Basic Auth ข้อสองใช้ rules จำกัดการเข้าถึงไฟล์
Basic Auth จะตั้งกฎใน .htaccess ส่วน .htpasswd เก็บ username และ hashed password (ไม่ควรเก็บ plain text) สมัยนี้นิยมใช้ bcrypt, Apache MD5 หรือ SHA hash ที่ปลอดภัย วิธีที่ง่ายที่สุดคือใช้เครื่องมือ password protection ใน control panel ซึ่งจะจัดการ .htpasswd และ hash password ให้อัตโนมัติ
ตัวอย่างกฎล็อกโฟลเดอร์:
AuthType Basic
AuthName "Protected Area"
AuthUserFile /home/user/.htpasswd
Require valid-user
แต่ละบรรทัดหมายถึง: กำหนดประเภท authentication, ตั้งชื่อพื้นที่, ชี้ไฟล์ .htpasswd (ต้องเป็น path จริงบนเซิร์ฟเวอร์ ไม่ใช่ URL), และอนุญาตเฉพาะผู้ใช้ที่ถูกต้อง ข้อผิดพลาดที่พบคือใช้ URL กับ AuthUserFile ซึ่งไม่ถูกต้อง ตัวอย่าง /home/user/.htpasswd เป็น path ที่ถูกต้อง
.htpasswd ควรวางที่ไหน?
แนะนำให้วาง .htpasswd นอก public_html เพื่อป้องกันการเรียกดูจากเว็บโดยตรง เช่น ถ้าเว็บไซต์อยู่ที่ /home/account/public_html ให้ .htpasswd อยู่ที่ /home/account/.htpasswd จะปลอดภัยกว่า
สิทธิ์ของไฟล์ .htpasswd ควรเป็น 640 หรือ 644 ส่วน .htaccess ใช้ 644 ก็เพียงพอ หลีกเลี่ยงสิทธิ์ 777 เพราะเสี่ยงต่อการถูกแก้ไขโดยใครก็ได้
ขั้นตอนการล็อกโฟลเดอร์ด้วย .htaccess
เหมาะกับการปกป้อง admin, panel, test, staging, รายงาน หรือโฟลเดอร์ลูกค้า ก่อนเริ่มให้สำรอง .htaccess เดิม เพราะแค่ผิดพลาดเล็กน้อยอาจทำให้เกิด 500 Internal Server Error ได้
1. กำหนดโฟลเดอร์ที่จะล็อก
เลือกโฟลเดอร์ที่ต้องการล็อก เช่น site.com/admin ก็วาง .htaccess ใน admin หรือจะล็อกทั้งเว็บไซต์ก็วางใน root
2. สร้างผู้ใช้ใน .htpasswd
หาก control panel มีเครื่องมือ password protection ใช้ได้ทันที หากไม่มีและมี SSH ใช้คำสั่งนี้: htpasswd -c /home/user/.htpasswd admin เพื่อสร้างผู้ใช้ admin หากจะเพิ่มผู้ใช้ใหม่ไม่ต้องใส่ -c เพราะจะสร้างไฟล์ใหม่ทับ
3. เพิ่มกฎใน .htaccess
เพิ่มบรรทัดเหล่านี้ใน .htaccess ของโฟลเดอร์ที่ต้องการปกป้อง:
AuthType Basic
AuthName "Admin Panel"
AuthUserFile /home/user/.htpasswd
Require valid-user
หลังบันทึก ลองเข้าจาก browser หากเจอหน้าขอ user/pass แสดงว่าทำงานแล้ว หาก login ไม่ผ่านทั้งที่รหัสถูกต้อง ให้ตรวจสอบ path .htpasswd และสิทธิ์ไฟล์
4. ห้ามใช้บน HTTP เท่านั้น
Basic Auth ส่งข้อมูลแบบ Base64 ไม่ปลอดภัย หากใช้ HTTP ผู้ดักจับ network สามารถอ่าน user/pass ได้ ดังนั้นต้องใช้ .htaccess ล็อกควบคู่กับ HTTPS เสมอ เปิด SSL ที่ Hostragons และตั้งกฎ redirect HTTPS เพิ่มลดความเสี่ยง การติดตั้ง SSL การเปลี่ยนเส้นทาง HTTPS
บังคับ HTTPS และการ redirect www
ขั้นพื้นฐานของความปลอดภัยคือ redirect ทุก traffic ไป HTTPS หลังติดตั้ง SSL ให้เพิ่มกฎนี้ใน .htaccess ที่ root:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
กฎนี้ redirect ทุก request HTTP เป็น HTTPS โดยใช้ 301 redirect ซึ่งดีต่อ SEO แต่ถ้าเว็บไซต์อยู่หลัง CDN, proxy หรือ load balancer อาจต้องใช้กฎที่ hosting provider แนะนำ
เรื่อง www กับ non-www ควรเลือกแบบเดียว โดยถ้าจะ redirect www ไป non-www ใช้:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ https://yourdomain.com/$1 [L,R=301]
เปลี่ยนชื่อ domain เป็นของคุณเอง อย่าทำ redirect หลายต่อ ถ้าทั้ง HTTPS และ www ควร redirect ครั้งเดียวถึง URL ที่ต้องการ การเปลี่ยนเส้นทางโดเมน การเปลี่ยนเส้นทางที่เข้ากันได้กับ SEO
สรุปคำสั่ง .htaccess ที่เพิ่มความปลอดภัย
ตารางด้านล่างคือคำสั่ง .htaccess ที่ใช้เพิ่มความปลอดภัยบ่อย และข้อควรระวัง ตรวจสอบกับโครงสร้างที่มีอยู่ก่อน เพราะบาง CMS เช่น WordPress, Laravel อาจ conflict กับกฎบางอย่าง
| วัตถุประสงค์ | ตัวอย่างคำสั่ง | ใช้เมื่อใด | ข้อควรระวัง |
|---|---|---|---|
| ล็อกโฟลเดอร์ด้วยรหัสผ่าน | AuthType Basic, Require valid-user | admin, staging, รายงาน | ต้องใช้กับ HTTPS เท่านั้น |
| บังคับ HTTPS | RewriteCond %{HTTPS} off | ทำให้ traffic ทั้งหมดปลอดภัย | CDN อาจต้องใช้กฎพิเศษ |
| ปิดแสดงรายการไฟล์ | Options -Indexes | โฟลเดอร์ที่ไม่มี index | ป้องกันการมองเห็นโครงสร้างไฟล์ |
| ป้องกัน .htaccess ถูกอ่าน | Require all denied | ป้องกันการอ่าน config file | Syntax ขึ้นกับเวอร์ชัน Apache |
| ป้องกัน hotlink | RewriteCond %{HTTP_REFERER} | ลดการใช้รูปภาพจากเว็บไซต์อื่น | ทดสอบกับ CDN และ social media preview |
| เพิ่ม security headers | Header set X-Frame-Options SAMEORIGIN | ลดการโจมตี browser-based | ต้องเปิด mod_headers |
ปิดการแสดงรายการไฟล์ (Directory Listing)
หากโฟลเดอร์ไม่มี index.html, index.php เซิร์ฟเวอร์อาจแสดงรายการไฟล์ซึ่งเสี่ยงมาก เช่น backup, รูปภาพ, โค้ดเก่า สามารถปิดด้วย:
Options -Indexes
หลังใส่ กรณีไม่มี index จะเจอ 403 Forbidden ซึ่งเป็นผลดีต่อความปลอดภัย
ป้องกันการเข้าถึงไฟล์สำคัญด้วย .htaccess
โดยปกติ Apache จะป้องกัน .htaccess ไม่ให้ถูกอ่าน แต่สามารถเพิ่มกฎดังนี้เพื่อความมั่นใจ:
<Files .htaccess>
Require all denied
</Files>
ไฟล์สำคัญอื่นๆ เช่น .env, composer.json, composer.lock, config.php.bak, backup.sql, database.sql ก็ควรป้องกัน ตัวอย่างเช่น .env ใน Laravel หรือ Symfony อาจมี password, API key, SMTP หากหลุดอาจโดน hack ได้
ป้องกันหลายไฟล์พร้อมกันได้ด้วย:
<FilesMatch ^(\.env|composer\.(json|lock)|package\.json|yarn\.lock|.*\.sql|.*\.bak)$>
Require all denied
</FilesMatch>
ก่อนใช้ ตรวจสอบว่าไม่ได้ block ไฟล์สำคัญที่ระบบต้องใช้ เช่นไฟล์สำหรับ verify หรือ integration
ปิดการรัน PHP ในโฟลเดอร์ upload
โฟลเดอร์ upload เป็นเป้าหมายของผู้โจมตี หากระบบ upload ไม่ปลอดภัยและมี PHP file ถูก upload อาจเกิดปัญหาใหญ่ สามารถปิดการรัน PHP ในโฟลเดอร์นี้ได้ด้วย .htaccess:
<FilesMatch \.php$>
Require all denied
</FilesMatch>
WordPress นิยมตั้งใน wp-content/uploads แต่บาง plugin อาจต้องใช้ PHP ดังนั้นควร test ก่อนใช้งานจริง
ป้องกัน hotlink ลดการใช้ bandwidth
Hotlink คือการที่เว็บไซต์อื่นนำรูปภาพหรือไฟล์ของคุณไปใช้โดยตรง ทำให้เสีย bandwidth และอาจเกิดปัญหา performance ตัวอย่างกฎป้องกัน hotlink:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|webp)$ - [F,NC]
กฎนี้ป้องกัน request รูปภาพที่ referer ไม่ใช่ domain ของคุณ (หรือว่าง) หากมี CDN, Google Images, partner site ต้อง whitelist domain เหล่านั้นด้วย การใช้ CDN ประสิทธิภาพเว็บไซต์
จำกัดหรืออนุญาต IP ที่เข้า admin
ถ้าต้องการให้ admin เข้าจาก IP ออฟฟิศเท่านั้น สามารถใช้กฎนี้ (Apache 2.4+):
Require ip 203.0.113.10
จะอนุญาตเฉพาะ IP ที่กำหนดเท่านั้น หากใช้ dynamic IP ควรระวัง เพราะเปลี่ยนอาจเข้าไม่ได้ แนะนำให้ใช้ควบคู่กับ password protection
หากต้องการ block IP ที่ไม่ต้องการใช้:
<RequireAll>
Require all granted
Require not ip 198.51.100.25
</RequireAll>
IP block ใช้ได้กับการโจมตีขนาดเล็ก แต่หากเป็น botnet หรือเปลี่ยน IP บ่อย ควรใช้ firewall, rate limiting หรือ server security ร่วมด้วย
Security Headers: เพิ่มการป้องกันระดับ browser
.htaccess ไม่ได้ใช้ปกป้องแค่ไฟล์ แต่ยังเพิ่ม security headers ให้ browser ได้ด้วย หากเปิด mod_headers สามารถเพิ่ม headers ที่สำคัญต่อไปนี้:
Header always set X-Content-Type-Options nosniff
Header always set X-Frame-Options SAMEORIGIN
Header always set Referrer-Policy strict-origin-when-cross-origin
Header always set Permissions-Policy geolocation=(), microphone=(), camera=()
X-Content-Type-Options nosniff ป้องกัน browser เดา file type แล้วรันมัลแวร์ X-Frame-Options SAMEORIGIN ป้องกัน clickjacking (embed iframe ข้าม domain) Referrer-Policy กำหนดว่าจะส่ง referer อะไร Permissions-Policy จำกัดสิทธิ์ browser เช่นกล้อง, ไมโครโฟน, location
Content-Security-Policy (CSP) เป็น header ที่แข็งแรงกว่า แต่ควรทดสอบรายงานก่อน เพราะการตั้งเข้มเกินไปอาจ block โฆษณา, analytics, payment, live chat หรือ font ได้ ควรค่อยๆ เพิ่มทีละขั้น
Checklist ก่อนเปลี่ยน .htaccess

.htaccess ส่งผลทันที ดังนั้นก่อนเพิ่มคำสั่งความปลอดภัยควรเช็คตามนี้:
- สำรอง .htaccess ปัจจุบันลงเครื่อง
- ตรวจสอบ SSL certificate ว่าเปิดใช้งานถูกต้อง
- เพิ่มกฎทีละบรรทัด อย่าเปลี่ยนทั้งหมดพร้อมกัน
- ตรวจสอบ error 500, 403, 404 จาก browser และ log server
- อย่าลบ rewrite rule ของ WordPress, Laravel หรือ CMS
- ทดสอบ HTTPS ในโฟลเดอร์ที่ใช้ password protection
- ตรวจสอบความขัดแย้งกับ CDN, cache plugin, security plugin
- ทดสอบการเข้าใช้งานบนมือถือ, desktop และ browser หลายตัว
การเพิ่มกฎทีละอันและ test จะช่วยหาสาเหตุ error ได้เร็ว เช่น ใส่ Options -Indexes แล้ว test ต่อด้วย HTTPS redirect จากนั้นค่อยเพิ่ม password protection
ข้อผิดพลาดที่พบได้บ่อยและวิธีแก้ไข
500 Internal Server Error
เกิดจาก syntax ผิด, directive ที่ไม่รองรับ หรือใช้ module ที่ server ไม่เปิด เช่น mod_headers ต้องเปิดก่อนใช้ Header คำแนะนำ: ลบหรือ comment บรรทัดล่าสุด ตรวจสอบ log server และเช็ค module ที่ hosting รองรับ
หน้าขอรหัสผ่านวนกลับตลอด
เกิดจาก path .htpasswd ผิด, hash password ไม่รองรับ หรือ permission ผิด ต้องใช้ path จริงบน server สำหรับ AuthUserFile และตรวจสอบสิทธิ์ไฟล์
HTTPS redirect วนลูปไม่หยุด
กรณีอยู่หลัง CDN หรือ proxy server อาจรับ HTTP request ตลอดและ redirect วน ต้องใช้กฎที่ตรวจสอบ X-Forwarded-Proto หรือปรับ SSL mode ใน CDN เป็น Full หรือ Full Strict
ภาพหรือ CSS ไม่โหลด
กฎ hotlink, FilesMatch หรือ security header ที่ตั้งกว้างเกินไปอาจ block ไฟล์สำคัญ ตรวจสอบด้วย dev tools ใน browser ว่าไฟล์ไหนถูก block ด้วย HTTP code อะไร
ความปลอดภัย .htaccess สำหรับ WordPress
.htaccess ใน WordPress สำคัญมากกับ permalinks แต่ควรหลีกเลี่ยงการแก้ไข block BEGIN WordPress และ END WordPress เพิ่ม security rule ไว้บนหรือใต้ block จะปลอดภัยกว่า
ตัวอย่างการเพิ่มความปลอดภัยสำหรับ WordPress:
- เพิ่ม Basic Auth ใน wp-admin
- ปิดรัน PHP ใน wp-content/uploads
- ถ้าไม่ใช้ xmlrpc.php ให้จำกัดการเข้าถึง
- ลดการมองเห็น readme.html และ license file
- ตั้ง HTTPS redirect ให้ตรงกับ site address ของ WordPress
การใช้ password protection ใน wp-admin ควบคู่กับ WordPress user/pass จะเพิ่มความปลอดภัยสองชั้น แต่บาง plugin ใช้ admin-ajax.php ใน wp-admin หาก block ทั้งโฟลเดอร์อาจมีผลต่อ AJAX หรือฟอร์ม ต้อง test ก่อนใช้งานจริง โฮสติ้ง WordPress การเร่งความเร็ว WordPress
เทคนิค .htaccess สำหรับมืออาชีพ
สิ่งสำคัญคือสมดุลระหว่างความปลอดภัยกับการดูแลระยะยาว กฎที่เข้มมากอาจมีปัญหากับ maintenance ดังนั้นควรจดวัตถุประสงค์, ขอบเขต และผลการ test ทุกกฎ
- สำรอง .htaccess แบบมีวัน เช่น htaccess-2026-01-15.bak
- หลีกเลี่ยงการรวมกฎ .htaccess เยอะเกินไปในไฟล์เดียว
- 301 redirect มีผลถาวร ต้องคำนึงถึง cache browser และ search engine
- หลังเพิ่ม security headers ให้เช็ค error ใน browser console
- ในโฟลเดอร์ที่ใช้ password protection สร้าง user แยก ไม่แชร์ password เดียวกัน
- ปิด test, staging และ backup folder จาก search engine ก่อนด้วย server rule
อีกข้อคือควร review security rule เป็นระยะ (เช่นทุก 3 เดือน) เพราะ integration ที่เคยใช้อาจเลิกใช้แล้ว แต่เปิดช่องไว้ใน .htaccess ควรลบกฎที่ไม่จำเป็นและแก้ไข redirect ที่เก่า
บทสรุป: ไฟล์เล็กแต่ป้องกันใหญ่
.htaccess ตั้งรหัสผ่านและเพิ่มความปลอดภัยเว็บไซต์ หากใช้ถูกต้องจะกลายเป็นด่านแรกที่แข็งแรง ปกป้องโฟลเดอร์ด้วยรหัสผ่าน, บังคับ HTTPS, ปิดรายการไฟล์, จำกัดการเข้าถึงไฟล์สำคัญ และเพิ่ม security headers ได้อย่างมีประสิทธิภาพ
อย่างไรก็ตาม .htaccess จำเป็นต้องใช้ร่วมกับโฮสติ้งที่ดี, SSL, ซอฟต์แวร์ล่าสุด, สำรองข้อมูล และนโยบายรหัสผ่านที่แข็งแรง Hostragons ให้คุณจัดการ SSL, hosting และ domain ได้ในแผงเดียว เพื่อความปลอดภัยที่ยั่งยืน สนใจดูแพ็คเกจ hosting, domain และ SSL ได้เลย แพ็คเกจการโฮสต์เว็บไซต์ ซื้อโดเมน ใบรับรอง SSL
คำถามที่พบบ่อย
.htaccess ตั้งรหัสผ่านแล้วไฟล์ถูกเข้ารหัสจริงหรือ?
ไม่ใช่ .htaccess จะล็อกโฟลเดอร์แบบ user/pass แต่ไม่ได้เข้ารหัสไฟล์ Basic Auth แค่จำกัดการเข้าถึง ถ้าต้องการความปลอดภัยในการส่งข้อมูลต้องใช้ SSL และ HTTPS
เก็บ .htpasswd ใน public_html ปลอดภัยไหม?
ไม่แนะนำ ควรวาง .htpasswd นอก public_html เพื่อป้องกันการถูกเรียกดูจากเว็บ แม้ server config ผิดก็ยังปลอดภัยกว่า
เปลี่ยน .htaccess แล้วเจอ error 500 ทำอย่างไร?
ลบหรือ comment บรรทัดล่าสุด หรือ revert กลับไป backup ตรวจสอบ log server ส่วนใหญ่เกิดจาก syntax ผิด, directive ไม่รองรับ หรือ module ที่ไม่เปิด
ล็อก wp-admin ด้วย .htaccess ใน WordPress ดีไหม?
ดี เพิ่มความปลอดภัยอีกชั้น แต่บาง plugin ต้องใช้ admin-ajax.php หลังตั้งกฎต้อง test การเข้าใช้งาน, comment, cart, payment และ form
HTTPS redirect กระทบ SEO หรือไม่?
ถ้าใช้ 301 redirect อย่างถูกต้องจะดีต่อ SEO เพราะ URL มีความปลอดภัยและสม่ำเสมอ ต้องหลีกเลี่ยง redirect หลายต่อ และปรับ internal link ให้ตรงกับ HTTPS