នៅក្នុងអត្ថបទនេះ យើងនឹងស្វែងយល់ពីគោលការណ៍ជាមូលដ្ឋាននៃការប្រើប្រាស់ឯកសារ .htaccess ដែលមានសារៈសំខាន់សម្រាប់ការពង្រឹង SEO ។ ឯកសារនេះធានានូវការបង្កើតលិបិក្រមត្រឹមត្រូវនៃទំព័រដោយម៉ាស៊ីនស្វែងរក។ យើងនឹងរៀនពីរបៀបគ្រប់គ្រងការបញ្ជូនបន្ត កំណត់រចនាសម្ព័ន្ធសុវត្ថិភាព និងជំរុញការអនុវត្ត។ លើសពីនេះ យើងនឹងផ្តល់ការណែនាំអំពីរបៀបកំណត់រចនាសម្ព័ន្ធឯកសារនេះដោយឯករាជ្យ។
ហេតុអ្វី .htaccess ត្រូវការ
ឯកសារ .htaccess ដើរតួជាប្រភេទនៃ "ការបញ្ជាពីចម្ងាយ" សម្រាប់អ្នកអភិវឌ្ឍន៍គេហទំព័រនៅលើម៉ាស៊ីនមេ Apache ។ វាផ្តល់នូវឧបករណ៍ងាយស្រួលសម្រាប់កែតម្រូវប៉ារ៉ាម៉ែត្រផ្សេងៗ និងគ្រប់គ្រងឥរិយាបថនៃគេហទំព័រ។ នៅពេលដែលការចូលប្រើដោយផ្ទាល់ទៅកាន់ឯកសារកំណត់រចនាសម្ព័ន្ធចម្បងរបស់ម៉ាស៊ីនមេគឺមិនអាចប្រើបានទេ (ដូចឧទាហរណ៍ជាញឹកញាប់ជាមួយការបង្ហោះនិម្មិត) .htaccess ក្លាយជាឧបករណ៍មានប្រយោជន៍សម្រាប់ធ្វើការផ្លាស់ប្តូរចាំបាច់។
ជាញឹកញាប់ htaccess មានទីតាំងនៅក្នុងថត root នៃគេហទំព័ររបស់អ្នក ឬនៅក្នុងថតឯកសារទាំងនោះដែលចាំបាច់ត្រូវមានការកំណត់រចនាសម្ព័ន្ធពិសេស។ ឧទាហរណ៍ ប្រសិនបើអ្នកប្រើ WordPress ការកំណត់រចនាសម្ព័ន្ធអាចត្រូវបានធ្វើតាមរយៈកម្មវិធីជំនួយ Yoast SEO ដែលយើងបានពិភាក្សានៅក្នុងអត្ថបទស្តីពី កំណត់រចនាសម្ព័ន្ធ robots.txt. ក្នុងករណីផ្សេងទៀត វាគ្រប់គ្រាន់ក្នុងការចូលទៅកាន់ថតដែលត្រូវការ ហើយកែសម្រួលឯកសារ .htaccess ដែលមានស្រាប់ ឬបង្កើតវាប្រសិនបើវាមិនទាន់ត្រូវបានបង្កើតនៅឡើយ។
ការកំណត់រចនាសម្ព័ន្ធឯកសារ .htaccess
301 ប្តូរទិស htaccess
ការបញ្ជូនបន្ត 301 នៅក្នុងឯកសារ .htaccess អាចត្រូវបានប្រដូចទៅនឹងការបញ្ជូនបន្តអចិន្ត្រៃយ៍នៅលើគេហទំព័រមួយ។ វាជូនដំណឹងដល់ម៉ាស៊ីនស្វែងរក និងកម្មវិធីរុករកថា ទំព័រឥឡូវនេះមានទីតាំងនៅអចិន្ត្រៃយ៍នៅអាសយដ្ឋានថ្មី ហើយស្នើឱ្យធ្វើបច្ចុប្បន្នភាពចំណាំ និងការធ្វើលិបិក្រម។ ការបញ្ជូនបន្តបែបនេះជាធម្មតាត្រូវបានប្រើនៅពេលដែលទំព័រមួយត្រូវបានផ្លាស់ទី ឬលុប ដើម្បីការពារចំណាត់ថ្នាក់របស់វានៅក្នុងលទ្ធផលស្វែងរក និងបញ្ជូនអ្នកទស្សនាទៅកាន់ទីតាំងថ្មី។
ដើម្បីដំណើរការការបញ្ជូនបន្ត អ្នកត្រូវបើកដំណើរការពាក្យបញ្ជាដែលត្រូវគ្នានៅក្នុងឯកសារ .htaccess៖
RewriteEngine on
បន្ទាប់ពីនោះ អ្នកអាចកំណត់ទម្រង់ការបញ្ជូនបន្តដ៏សាមញ្ញបំផុត៖
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
ការបញ្ជូនបន្តស្រដៀងគ្នាដោយប្រើ បញ្ជូនបន្តអចិន្រ្តៃយ៍ ការណែនាំមើលទៅដូចនេះ៖
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
</IfModule>
ទាំងនេះគឺជាវិធីសាស្ត្របញ្ជូនបន្តដ៏ងាយស្រួលបំផុតដើម្បីកំណត់រចនាសម្ព័ន្ធ។ ចូរយើងពិចារណាអំពីការកំណត់រចនាសម្ព័ន្ធដែលប្រើប្រភេទការបញ្ជូនបន្តកម្រិតខ្ពស់ផ្សេងទៀតជាមួយ mod_rewrite ម៉ូឌុល៖
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirecting from one page to another
RewriteRule ^old-page.html$ http://www.example.com/new-page.html [R=301,L]
# Redirecting all traffic from one domain to another
RewriteCond %{HTTP_HOST} ^oldsite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.oldsite.com$
RewriteRule ^(.*)$ http://www.newsite.com/$1 [R=301,L]
# Redirecting from www to non-www (or vice versa)
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
# Redirecting from HTTP to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
# Redirecting from one subdomain to another
RewriteCond %{HTTP_HOST} ^subdomain1.example.com$
RewriteRule ^(.*)$ http://subdomain2.example.com/$1 [R=301,L]
</IfModule>
302 redirect .htaccess ដែលបង្ហាញពីការផ្លាស់ប្តូរទីតាំងបណ្តោះអាសន្នត្រូវបានជួបប្រទះតិចជាងញឹកញាប់។ នេះជាឧទាហរណ៍នៃការកំណត់បែបនេះ៖
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old-page.html$ /new-page.html [R=302,L]
</IfModule>
សេចក្តីណែនាំកំហុសឯកសារ
ការកំណត់នេះអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងអ្វីដែលអ្នកប្រើឃើញនៅពេលដែលកំហុស HTTP កើតឡើងនៅលើគេហទំព័ររបស់អ្នក។ ជំនួសឱ្យសារកំហុសស្តង់ដារ អ្នកអាចបង្ហាញទំព័រផ្ទាល់ខ្លួនរបស់អ្នក ដែលនឹងផ្តល់ព័ត៌មានកាន់តែច្រើនសម្រាប់អ្នកទស្សនា និងជួយពួកគេឱ្យយល់ពីអ្វីដែលបានកើតឡើង។ គ្រាន់តែធ្វើតាមវាក្យសម្ព័ន្ធនេះសម្រាប់ការប្រើប្រាស់៖
ErrorDocument <error_code> <URL_page>
ឧទាហរណ៍,
ErrorDocument 404 /errors/not_found.html
មានន័យថានៅពេល ក 404 កំហុសកើតឡើង, ទំព័រនៅ /errors/not_found.html នឹងត្រូវបានបើក។ URLs ដាច់ខាតត្រូវបានបញ្ជាក់ស្រដៀងគ្នានេះ៖
ErrorDocument 500 http://example.com/errors/server_error.html
ឧទាហរណ៍នេះបង្ហាញពីការបង្ហាញ server_error.html ទំព័រនៅ http://example.com/errors/ នៅក្នុងព្រឹត្តិការណ៍នៃ ក 500 កំហុស។
ការបដិសេធការចូលទៅកាន់បញ្ជីគេហទំព័រ
ឯកសារ .htaccess មានពាក្យបញ្ជា បដិសេធពីទាំងអស់។ដែលជួយបដិសេធការចូលទៅកាន់ថតឯកសារ ឬឯកសារមួយចំនួននៅលើម៉ាស៊ីនមេគេហទំព័ររបស់អ្នក។ វាអាចមានប្រយោជន៍ប្រសិនបើអ្នកចង់លាក់ព័ត៌មានឯកជន ឬឯកសារសំខាន់ៗពីអ្នកចូលមើលគេហទំព័រ ដើម្បីធានាសុវត្ថិភាពទិន្នន័យ។
ដើម្បីបិទការចុះបញ្ជី (មើលថតដែលមានទាំងអស់) អ្នកត្រូវបន្ថែមបន្ទាត់៖
Options -Indexes
ឧទាហរណ៍នៃការទប់ស្កាត់ការចូលទៅកាន់ថតជាក់លាក់មួយមើលទៅដូចនេះ៖
<Directory /path_to_your_directory>
Order Deny,Allow
Deny from all
</Directory>
ដូចគ្នានេះដែរ អ្នកអាចបដិសេធការចូលប្រើឯកសារតែមួយ៖
<Files "file.php">
Order Deny,Allow
Deny from all
</Files>
ឬសម្រាប់ជួរនៃឯកសារតាមផ្នែកបន្ថែម៖
<FilesMatch "\.(txt|log|bak)$"> # Select the desired extensions, in the example: txt, log, bak
Order Deny,Allow
Deny from all
</FilesMatch>
រារាំងការចូលប្រើដោយ IP
ការទប់ស្កាត់ការចូលប្រើដោយ IP នៅក្នុងឯកសារ .htaccess គឺជាវិធីសាស្ត្រដែលអនុញ្ញាតឱ្យអ្នកដាក់កម្រិតការចូលប្រើគេហទំព័ររបស់អ្នកសម្រាប់អាសយដ្ឋាន IP ជាក់លាក់ ឬក្រុមរបស់ពួកគេ។ វាអាចមានប្រយោជន៍ប្រសិនបើអ្នកចង់ការពារការចូលទៅកាន់គេហទំព័ររបស់អ្នក ឬផ្នែកជាក់លាក់របស់វាសម្រាប់មនុស្សជាក់លាក់ ឬរូបយន្តដែលមិនចង់បាន។
ការទប់ស្កាត់អាសយដ្ឋាន IP តែមួយត្រូវបានធ្វើដោយពាក្យបញ្ជា៖
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
ការទប់ស្កាត់អាសយដ្ឋាន IP ជាច្រើនត្រូវបានធ្វើស្រដៀងគ្នាដោយការចម្លង "បដិសេធពី" បន្ទាត់ជាមួយអាសយដ្ឋានដែលត្រូវការ។
សម្រាប់ការទប់ស្កាត់ជួរនៃអាសយដ្ឋាន IP៖
Order Deny,Allow
Allow from all
Deny from 11.11.11.11/24
ដើម្បីអនុញ្ញាតឱ្យចូលប្រើសម្រាប់តែ IPs ជាក់លាក់ សូមបន្ថែមលេខកូដ៖
Order Deny,Allow
Deny from all
Allow from 11.22.33.44
សម្រាប់ការបដិសេធទាំងស្រុងនៃការចូលប្រើ សូមប្រើការណែនាំ បដិសេធពីទាំងអស់។និងសម្រាប់ការទប់ស្កាត់អាសយដ្ឋានដោយរបាំង សូមបញ្ជាក់ បដិសេធពី 11.22.
ដែលជាកន្លែងដែល, 11.22 គឺជាអាសយដ្ឋាន IP របាំង.
រារាំងអ្នកទស្សនាដោយភ្នាក់ងារអ្នកប្រើប្រាស់
ការទប់ស្កាត់អ្នកប្រើប្រាស់ដោយ User-Agent នៅក្នុងឯកសារ .htaccess គឺជាវិធីសាស្រ្តនៃការត្រួតពិនិត្យថាតើអ្នកណាអាចចូលប្រើម៉ាស៊ីនមេគេហទំព័ររបស់អ្នកដោយផ្អែកលើព័ត៌មានអំពីកម្មវិធីរុករកតាមអ៊ីនធឺណិតដែលអ្នកទស្សនាប្រើ។ ខ្សែអក្សរ User-Agent មានទិន្នន័យអំពីកម្មវិធីរុករកដែលមនុស្សម្នាក់ប្រើដើម្បីធ្វើអន្តរកម្មជាមួយម៉ាស៊ីនមេរបស់អ្នក ហើយអរគុណចំពោះព័ត៌មាននេះ អ្នកអាចដាក់កម្រិតការចូលប្រើសម្រាប់អ្នកប្រើប្រាស់ជាក់លាក់។
វិធីសាមញ្ញបំផុតក្នុងការទប់ស្កាត់ដោយ User-Agent គឺត្រូវប្រើ mod_rewrite:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Bot1 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot2 [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot3 [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>
ក្នុងឧទាហរណ៍នេះ៖
- RewriteCond %{HTTP_USER_AGENT} ត្រូវបានប្រើដើម្បីពិនិត្យមើលខ្សែអក្សរ User-Agent ។
- ^Bot1, ^Bot2, ^Bot3 គឺជាឧទាហរណ៍នៃខ្សែអក្សរ User-Agent ដែលយើងចង់ទប់ស្កាត់។ ឧបករណ៍កែប្រែ NC បង្ហាញថាការប្រៀបធៀបគួរតែមិនប្រកាន់អក្សរតូចធំ។
- RewriteRule ^.*$ - [F,L] អនុវត្តចំពោះសំណើប្រសិនបើលក្ខខណ្ឌ RewriteCond ណាមួយត្រូវបានបំពេញ។ វាផ្ញើការឆ្លើយតបជាមួយនឹងលេខកូដស្ថានភាពហាមឃាត់ (F) 403 និងបញ្ឈប់ដំណើរការច្បាប់ (L) ។
ឃ្លាំងសម្ងាត់នៅក្នុង htaccess
ការកំណត់រចនាសម្ព័ន្ធឃ្លាំងសម្ងាត់តាមរយៈឯកសារ .htaccess ជួយបង្កើនល្បឿនគេហទំព័ររបស់អ្នកដោយធ្វើឱ្យវាផ្ទុកលឿនជាងមុនសម្រាប់អ្នកប្រើប្រាស់។ វាដំណើរការដូចនេះ៖ ឯកសារមួយចំនួនដូចជារូបភាព រចនាប័ទ្ម CSS និងស្គ្រីប JavaScript ត្រូវបានរក្សាទុកក្នុងឃ្លាំងសម្ងាត់កម្មវិធីរុករកតាមអ៊ីនធឺណិតរបស់អ្នកប្រើបន្ទាប់ពីការផ្ទុកដំបូង។ ឥឡូវនេះកម្មវិធីរុករកអាចប្រើឯកសារទាំងនេះពីឃ្លាំងសម្ងាត់ជំនួសឱ្យការផ្ទុកពួកវាឡើងវិញពីម៉ាស៊ីនមេរាល់ពេលដែលអ្នកប្រើប្រាស់ចូលមើលទំព័រ។ នេះកាត់បន្ថយពេលវេលាផ្ទុក និងកែលម្អដំណើរការគេហទំព័រ។
ពិចារណាឧទាហរណ៍មួយ៖
# Enable caching for images for 1 month
<FilesMatch "\.(jpg|jpeg|png|gif|svg)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
# Enable caching for CSS and JavaScript for 1 week
<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
សម្រាប់ធនធានដែលត្រូវបានធ្វើបច្ចុប្បន្នភាពជាញឹកញាប់ ម្យ៉ាងវិញទៀត វាចាំបាច់ក្នុងការបិទឃ្លាំងសម្ងាត់៖
# Excluding caching for HTML pages and XML files
<FilesMatch "\.(html|xml)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>
បង្កើនប្រសិទ្ធភាពការងារគេហទំព័រ
ចំពោះ mod_deflate និង mod_gzip ម៉ូឌុលនៅក្នុង Apache ជួយបង្ហាប់ព័ត៌មានដែលម៉ាស៊ីនមេផ្ញើទៅឧបករណ៍របស់អ្នកប្រើ។ វាធ្វើឱ្យឯកសារមានទំហំតូចជាងមុន ដែលវាបង្កើនល្បឿនការផ្ទុកទំព័រ។ ទោះយ៉ាងណាក៏ដោយ វាជារឿងសំខាន់ដែលត្រូវចងចាំថា ការគាំទ្រ និងការកំណត់រចនាសម្ព័ន្ធនៃម៉ូឌុលទាំងនេះអាចប្រែប្រួលអាស្រ័យលើម៉ាស៊ីនមេរបស់អ្នក។
ឧទាហរណ៍នៃការប្រើប្រាស់ mod_deflate ម៉ូឌុល៖
<IfModule mod_deflate.c>
# Compressing text file types
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
ឧទាហរណ៍សម្រាប់ mod_gzip:
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ # Enabling compression for files with extensions .html, .txt, .css, .js, .php, .pl
mod_gzip_item_include mime ^application/x-javascript.* # Enabling compression for MIME types starting with application/x-javascript
mod_gzip_item_include mime ^text/.* # Enabling compression for MIME types starting with text/
mod_gzip_item_exclude mime ^image/.* # Excluding from compression MIME types starting with image/
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* # Excluding already compressed data (responses with the Content-Encoding: gzip header)
</IfModule>
យើងបានពិភាក្សាអំពីការណែនាំដែលប្រើជាទូទៅបំផុត។ អ្នកអាចស្គាល់ខ្លួនឯងជាមួយនឹងសមត្ថភាពទាំងអស់នៃឯកសារនៅក្នុង ឯកសារផ្លូវការ.
របៀបពិនិត្យមើលមុខងាររបស់ឯកសារ .htaccess
ដើម្បីពិនិត្យមើលថាតើឯកសារ .htaccess របស់អ្នកកំពុងដំណើរការនៅលើគេហទំព័រដែរឬទេ អ្នកអាចអនុវត្តជំហានដូចខាងក្រោមៈ
- ផ្លាស់ប្តូរឯកសារ .htaccess ដោយចេតនាដោយមានកំហុស។ ជាការឆ្លើយតប ម៉ាស៊ីនមេគួរតែផ្តល់កំហុស។ វិធីសាស្រ្តនេះបង្ហាញថាតើប្រតិបត្តិការរបស់ឯកសារជាទូទៅត្រូវបានអនុវត្តនៅលើម៉ាស៊ីនមេ។
- ពិនិត្យមើលមុខងារនៃការផ្លាស់ប្តូរជាក់លាក់ដែលអ្នកបានធ្វើ។ ឧទាហរណ៍ ធ្វើការកែតម្រូវបន្តិចបន្តួចចំពោះប៉ារ៉ាម៉ែត្រមួយ ហើយវាយតម្លៃវត្តមាននៃការផ្លាស់ប្តូរ។
- ពិនិត្យមើលកូដស្ថានភាពនៃទំព័រ ប្រសិនបើការផ្លាស់ប្តូរទាក់ទងនឹងការឆ្លើយតបរបស់ម៉ាស៊ីនមេ។ របៀបធ្វើវាយើងបានពិពណ៌នាពីមុននៅក្នុងអត្ថបទ កូដកំហុស HTTP៖ បញ្ជីពេញលេញនៃកំហុសម៉ាស៊ីនមេ.
- យោងទៅកំណត់ហេតុម៉ាស៊ីនមេ។ ពួកគេបង្ហាញកំហុសទាំងអស់ដែលទាក់ទងនឹងប្រតិបត្តិការនៃឯកសារ .htaccess ។
- ធ្វើតេស្តដោយប្រើសេវាកម្ម ឬឧបករណ៍អនឡាញ។
វាជាការសំខាន់ណាស់ដែលត្រូវយល់ថាដើម្បីពិនិត្យមើលមុខងាររបស់ឯកសារ .htaccess អ្នកមិនចាំបាច់អនុវត្តជំហានទាំងអស់ក្នុងពេលតែមួយនោះទេ។ វាគ្រប់គ្រាន់ហើយក្នុងការជ្រើសរើសវិធីសាស្ត្រដែលសមស្របបំផុតពីបញ្ជីហើយប្រើវា។
សន្និដ្ឋាន
ការកំណត់រចនាសម្ព័ន្ធឯកសារ .htaccess គឺជាជំហានដ៏សំខាន់មួយក្នុងការបង្កើនប្រសិទ្ធភាព និងការពារម៉ាស៊ីនមេ Apache របស់អ្នក។ យើងបានស្វែងយល់ពីរបៀបដែលឯកសារនេះជួយគ្រប់គ្រងការបញ្ជូនបន្ត បង្រួមមាតិកា និងធានាសុវត្ថិភាព។ នៅពេលដែលអ្នកស្ទាត់ជំនាញក្នុងការធ្វើការជាមួយ .htaccess អ្នកនឹងទទួលបានឧបករណ៍ដ៏មានអានុភាពសម្រាប់ការកែលម្អដំណើរការ និងមុខងារនៃគេហទំព័រ។