วิธีใช้งาน .htaccess ใน DirectAdmin

.htaccess คืออะไร?

.htaccess (Hypertext Access) เป็นไฟล์การกำหนดค่า (configuration file) ที่ใช้ควบคุมการทำงานของ Apache Web Server บนโฮสติ้งของคุณ ไฟล์นี้ช่วยให้คุณสามารถเปลี่ยนการตั้งค่าเซิร์ฟเวอร์ได้โดยไม่ต้องเข้าถึงไฟล์ httpd.conf หลักของเซิร์ฟเวอร์ .htaccess ช่วยจัดการเรื่องเกี่ยวกับการเปลี่ยนเส้นทาง (redirect) การป้องกันการเข้าถึง (access control) การบีบอัดไฟล์ (compression) และอีกมากมายผ่านทางกฎ Mod_Rewrite

โดยทั่วไปไฟล์ .htaccess อยู่ในโฟลเดอร์ public_html ของเว็บไซต์คุณในการจัดการโฮสติ้งของ DirectAdmin

วิธีเข้าถึงและแก้ไข .htaccess ผ่าน File Manager

ในการแก้ไขไฟล์ .htaccess ใน DirectAdmin ให้ทำตามขั้นตอนเหล่านี้:

  1. เข้าสู่บัญชี DirectAdmin ของคุณ
  2. คลิกที่ “File Manager” ในเมนูหลัก
  3. นำทางไปยังโฟลเดอร์ public_html ของโดเมนที่ต้องการแก้ไข
  4. มองหาไฟล์ .htaccess ในรายการไฟล์ (หากไม่พบ คุณสามารถสร้างไฟล์ใหม่ได้)
  5. คลิกขวาที่ไฟล์ .htaccess และเลือก “Edit” หรือคลิกไอคอนแก้ไข
  6. แก้ไขไฟล์ตามต้องการ จากนั้นบันทึกการเปลี่ยนแปลง

การใช้งาน .htaccess ที่นิยมใช้บ่อย

1. บังคับใช้ HTTPS Redirect

เพื่อให้ทุกการเข้าชมใช้ HTTPS แทน HTTP ให้เพิ่มโค้ดต่อไปนี้:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

2. เปลี่ยนจาก www เป็น non-www

หากต้องการให้โดเมนของคุณเข้าถึงได้โดยไม่มี www ให้ใช้:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST:9}/$1 [L,R=301]

3. กำหนดหน้าข้อผิดพลาด Custom Error Pages

เพื่อแสดงหน้า custom สำหรับข้อผิดพลาดต่างๆ:

ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
ErrorDocument 403 /403.html

4. บล็อก IP Address เฉพาะ

ในการปิดกั้นการเข้าถึงจาก IP address เฉพาะ:

Order Allow,Deny
Allow from all
Deny from 192.168.1.1
Deny from 203.0.113.0

5. ป้องกันโฟลเดอร์ด้วยรหัสผ่าน

เพื่อป้องกันโฟลเดอร์ด้วยรหัสผ่าน ให้สร้างไฟล์ .htpasswd ก่อน จากนั้นใช้:

AuthType Basic
AuthName "Protected Folder"
AuthUserFile /home/username/.htpasswd
Require valid-user

6. ปิดกั้นการเข้าถึงไฟล์ที่ละเอียดอ่อน

ในการปิดกั้นการเข้าถึงไฟล์เช่น wp-config.php หรือ .env:

<Files "wp-config.php">
    Order allow,deny
    Deny from all
</Files>
<Files ~ "\.env$">
    Order allow,deny
    Deny from all
</Files>

7. เปิดใช้งาน GZIP Compression

เพื่อบีบอัดไฟล์และปรับปรุงความเร็วของเว็บไซต์:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</IfModule>

8. เปิดใช้งาน Browser Caching

เพื่อให้ผู้ใช้งานสามารถโหลดเว็บไซต์ได้เร็วขึ้นจากการจำเก็บ cache ของเบราวเซอร์:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>

.htaccess เริ่มต้นสำหรับ WordPress

สำหรับเว็บไซต์ WordPress โดยทั่วไปจะมีไฟล์ .htaccess ที่กำหนดค่าไว้แล้วตามค่าเริ่มต้น:

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>
# END WordPress

ข้อควรระวังเมื่อแก้ไข .htaccess

สำคัญ: ก่อนที่คุณจะแก้ไขไฟล์ .htaccess ให้สร้างการสำรองข้อมูล (backup) ของไฟล์นี้ไว้ก่อน การตั้งค่าที่ผิดพลาดในไฟล์ .htaccess อาจทำให้เว็บไซต์ของคุณขัดข้องหรือแสดงข้อความแสดงข้อผิดพลาด 500 Internal Server Error

หากเว็บไซต์ของคุณหลังจากแก้ไข .htaccess เกิดปัญหา คุณสามารถดาวน์โหลดไฟล์ backup ที่สร้างไว้เพื่อคืนค่าเดิมได้

สรุป

.htaccess เป็นเครื่องมือที่ทรงพลังในการจัดการการตั้งค่าเซิร์ฟเวอร์ Apache ผ่าน DirectAdmin การใช้งาน .htaccess อย่างถูกต้องจะช่วยให้คุณสามารถจัดการเรื่องความปลอดภัย (security) ประสิทธิภาพ (performance) และประสบการณ์ผู้ใช้งาน (user experience) ของเว็บไซต์ได้ดีขึ้น

หากต้องการบริการโฮสติ้งที่มีการสนับสนุนที่ดี สามารถศึกษาเพิ่มเติมได้ที่ บริการ Cloud Hosting ของ Dot Enterprise