คู่มือ Apache HTTP Server บน DirectAdmin Hosting และการตั้งค่า htaccess สำหรับ WordPress และ PHP

คู่มือ Apache HTTP Server บน DirectAdmin Hosting และการตั้งค่า htaccess สำหรับ WordPress และ PHP

ข่าวสาร | .., 18 ตุลาคม 2568 | แนะนำ

ภาพรวม Apache HTTP Server บนโฮสติ้ง DirectAdmin

Apache HTTP Server เป็นเว็บเซิร์ฟเวอร์ยอดนิยมที่ใช้งานแพร่หลายในโฮสติ้งร่วม โดย DirectAdmin ช่วยให้การจัดการโดเมน อีเมล และโฟลเดอร์เว็บไซต์ทำได้ง่าย ร่วมกับไฟล์ .htaccess เพื่อควบคุมรีไรต์ กำหนดเฮดเดอร์ และเพิ่มมาตรการความปลอดภัยในระดับไดเรกทอรี

โครงสร้างไฟล์และจุดสำคัญ

  • Document Root : โฟลเดอร์ public_html (หรือโฟลเดอร์ย่อยของโดเมน/ซับโดเมน) บน File Manager
  • .htaccess : ไฟล์กำหนดพฤติกรรม Apache รายไดเรกทอรี เช่น รีไรต์ ยูอาร์แอล ปิดไดเรกทอรีลิสต์ เพิ่ม Security Headers
  • error_log / access_log : ที่ใช้ตรวจสอบข้อผิดพลาดและทราฟฟิก (ดูได้จาก Log Viewer ของโฮสต์)

ตั้งค่า URL Rewrite พื้นฐาน

เปิดใช้โมดูลรีไรต์สำหรับเว็บแอปและ WordPress (โครงสร้างลิงก์ถาวร)

# เปิดใช้ Rewrite Engine RewriteEngine On # บังคับ www → non-www (ตัวอย่าง) RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://example.com/$1 [L,R=301] # WordPress Permalinks RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] 

ต้องการทดสอบรีไรต์ แนะนำสร้างเพจทดสอบและตรวจด้วย HTTP Check และ Redirect 301 ตรวจสอบ

เพิ่มความเร็วด้วย Gzip Deflate และ Cache Headers

บีบอัดทราฟฟิกและกำหนดอายุแคชสำหรับไฟล์สแตติก เพื่อลดขนาดที่ส่งระหว่างเซิร์ฟเวอร์กับเบราว์เซอร์

# เปิดการบีบอัด (mod_deflate) AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript application/json image/svg+xml # Caching Header <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 30 days" ExpiresByType application/javascript "access plus 30 days" ExpiresByType image/png "access plus 30 days" ExpiresByType image/jpeg "access plus 30 days" ExpiresDefault "access plus 7 days" </IfModule> # ETag/Cache-Control Header set Cache-Control "public, max-age=2592000" 

ตรวจคะแนน Core Web Vitals เพิ่มเติมด้วย PageSpeed และแนะนำเปิดใช้ OPcache ในระดับ PHP

เสริมความปลอดภัยด้วย Security Headers

ลดความเสี่ยง XSS, Clickjacking และเนื้อหาไม่ปลอดภัย

# ป้องกัน Clickjacking Header always set X-Frame-Options "SAMEORIGIN" # ป้องกัน XSS บางส่วน Header set X-XSS-Protection "1; mode=block" # ปิดการเดา MIME Type Header set X-Content-Type-Options "nosniff" # Content Security Policy (ปรับให้เหมาะกับเว็บ) Header set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; script-src 'self' https: 'unsafe-inline'; style-src 'self' https: 'unsafe-inline'" # HSTS (ใช้เมื่อเว็บบังคับ HTTPS แล้ว) Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" 

อย่าลืมบังคับ HTTPS และติดตั้ง SSL ให้ครบทั้งโดเมนหลักและซับโดเมน

ปิด Directory Listing และกัน Hotlink

# ปิดการแสดงไดเรกทอรี Options -Indexes # กัน Hotlink รูปภาพ (อนุญาตเฉพาะโดเมนตัวเอง) RewriteEngine On RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com/ [NC] RewriteRule \.(jpg|jpeg|png|gif|webp)$ - [F,NC] 

ทดสอบด้วย Security Scan และตรวจลิงก์ภายนอกที่ดึงรูปจากเว็บคุณ

ตั้งค่า PHP ที่ระดับไดเรกทอรี

บนโฮสต์ที่รัน PHP-FPM แนะนำใช้ .user.ini แทน .htaccess สำหรับ PHP directives

; .user.ini memory_limit=256M upload_max_filesize=128M post_max_size=128M max_execution_time=300 

สอบทานเวอร์ชัน PHP และสวิตช์ผ่าน Select PHP Version ใน DirectAdmin

แนวทางทำงานจริงกับ WordPress

  • Permalinks : เปิด Permalinks และตรวจ .htaccess ไม่ชนกับปลั๊กอินรีไรต์
  • Cache Plugin : ใช้ร่วมกับ Page Cache และตั้ง Cache-Control ให้สอดคล้อง
  • Security : ปิด XML-RPC หากไม่ใช้ และจำกัด wp-login ด้วย rate limit / reCAPTCHA
  • Media : ใช้ CDN สำหรับรูป/ไฟล์ใหญ่เพื่อลดภาระ Apache
# ตัวอย่างปิด xmlrpc <Files xmlrpc.php> Order allow,deny Deny from all </Files> 

ดีบักและแก้ปัญหาที่พบบ่อย

  • 500 Internal Server Error : เช็กไวยากรณ์ .htaccess, ปิดกฎบางส่วนทีละบรรทัด, ตรวจ error_log
  • 404 หลังเปิด Permalinks : ตรวจ RewriteEngine, RewriteBase, และไฟล์จริง/โฟลเดอร์
  • โหลดช้า : เปิดบีบอัด, ตั้งแคช, เปิด OPcache, ใช้ Object Cache
  • คอนฟลิกต์ปลั๊กอิน : ปิดปลั๊กอินต้องสงสัย, เปิดโหมดดีบัก WP_DEBUG, ตรวจฮุกที่เขียนทับ .htaccess

เช็กลิสต์ก่อนขึ้นระบบจริง

  • บังคับ HTTPS และเปิด HSTS
  • ตั้งแคชเฮดเดอร์และบีบอัดไฟล์สแตติก
  • ปิด Directory Listing และกัน Hotlink
  • เพิ่ม Security Headers ขั้นพื้นฐาน
  • เปิด OPcache และตรวจเวอร์ชัน PHP
  • ทดสอบ PageSpeed และแก้ LCP/CLS/INP ตามรายงาน
แชร์: