هن آرٽيڪل ۾، اسين .htaccess فائل استعمال ڪرڻ جي بنيادي اصولن کي ڳولينداسين، جيڪو SEO کي وڌائڻ لاءِ اهم آهي. هي فائل سرچ انجن پاران صفحن جي صحيح انڊيڪسنگ کي يقيني بڻائي ٿي. اسين سکنداسين ته ريڊائريڪٽس کي ڪيئن منظم ڪجي، سيڪيورٽي کي ڪيئن ترتيب ڏجي، ۽ ڪارڪردگي کي ڪيئن وڌايو وڃي. اضافي طور تي، اسين هن فائل کي آزاديءَ سان ڪيئن ترتيب ڏجي ان بابت صلاحون فراهم ڪنداسين.
.htaccess جي ضرورت ڇو آهي؟
.htaccess فائل Apache سرورز تي ويب ڊولپرز لاءِ هڪ قسم جي "ريموٽ ڪنٽرول" طور ڪم ڪري ٿي. اهو مختلف پيرا ميٽرز کي ترتيب ڏيڻ ۽ ويب سائيٽ جي رويي کي منظم ڪرڻ لاءِ آسان اوزار پيش ڪري ٿو. جڏهن سرور جي مکيه ترتيب فائلن تائين سڌو رسائي دستياب نه هجي (جيئن اڪثر ورچوئل هوسٽنگ سان ٿيندو آهي، مثال طور)، .htaccess ضروري تبديليون ڪرڻ لاءِ هڪ ڪارآمد اوزار بڻجي ويندو آهي.
Htaccess اڪثر ڪري توهان جي سائيٽ جي روٽ فولڊر ۾ يا انهن فولڊرن ۾ موجود هوندو آهي جتي خاص ترتيب جي ضرورت هوندي آهي. مثال طور، جيڪڏهن توهان ورڈپریس استعمال ڪندا آهيو، ته ترتيب Yoast SEO پلگ ان ذريعي ڪري سگهجي ٿي، جنهن تي اسان robots.txt ترتيب ڏيڻ واري مضمون ۾ بحث ڪيو آهي . ٻين حالتن ۾، گهربل فولڊر ڏانهن وڃڻ ۽ موجوده .htaccess فائل کي ايڊٽ ڪرڻ، يا ان کي ٺاهڻ لاءِ ڪافي آهي جيڪڏهن اهو اڃا تائين نه ٺاهيو ويو آهي.
.htaccess فائل کي ترتيب ڏيڻ
301 htaccess کي ريڊائريڪٽ ڪريو
.htaccess فائل ۾ 301 ريڊائريڪٽ کي ويب سائيٽ تي مستقل ريڊائريڪٽ سان تشبيهه ڏئي سگهجي ٿي. اهو سرچ انجن ۽ برائوزرن کي ٻڌائي ٿو ته صفحو هاڻي مستقل طور تي هڪ نئين ايڊريس تي واقع آهي ۽ بُڪ مارڪ ۽ انڊيڪسنگ کي اپڊيٽ ڪرڻ جو مشورو ڏئي ٿو. اهڙي ريڊائريڪٽيشن عام طور تي استعمال ڪئي ويندي آهي جڏهن هڪ صفحو منتقل ڪيو ويندو آهي يا ڊليٽ ڪيو ويندو آهي ته جيئن ڳولا جي نتيجن ۾ ان جي درجه بندي کي محفوظ رکيو وڃي ۽ ويٽرن کي نئين جڳهه تي ريڊائريڪٽ ڪيو وڃي.
ريڊائريڪٽس کي چالو ڪرڻ لاءِ، توهان کي .htaccess فائل ۾ لاڳاپيل ڪمانڊ کي فعال ڪرڻ جي ضرورت آهي:
RewriteEngine on
ان کان پوءِ، توهان ريڊائريڪشن جي آسان ترين شڪل کي ترتيب ڏئي سگهو ٿا:
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect 301 /old-page.html /new-page.html
</IfModule>
RedirectPermanent هدايت استعمال ڪندي هڪ ساڳيو ريڊائريڪٽ هن طرح نظر اچي ٿو:
<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 ريڊائريڪٽ .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 تي صفحو کوليو ويندو. مطلق URL ساڳي طرح بيان ڪيا ويا آهن:
ErrorDocument 500 http://example.com/errors/server_error.html
هي مثال 500 غلطي جي صورت ۾ http://example.com/errors/ تي server_error.html صفحي جي ڊسپلي کي ظاهر ڪري ٿو.
سائيٽ ڊاريڪٽري تائين رسائي کان انڪار ڪرڻ
.htaccess فائل ۾ " Deny from all" ڪمانڊ آهي ، جيڪو توهان جي ويب سرور تي ڪجهه فولڊرن يا فائلن تائين رسائي کي رد ڪرڻ ۾ مدد ڪري ٿو. اهو ڪارآمد ٿي سگهي ٿو جيڪڏهن توهان ڊيٽا سيڪيورٽي کي يقيني بڻائڻ لاءِ سائيٽ ويزٽرن کان ذاتي معلومات يا اهم فائلون لڪائڻ چاهيو ٿا.
لسٽنگ کي غير فعال ڪرڻ لاءِ (سڀني موجود ڊائريڪٽرين کي ڏسڻ)، توهان کي لائن شامل ڪرڻ جي ضرورت آهي:
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 ذريعي رسائي کي بلاڪ ڪرڻ
.htaccess فائل ۾ IP ذريعي رسائي کي بلاڪ ڪرڻ هڪ طريقو آهي جيڪو توهان کي مخصوص IP پتي يا انهن جي گروپن لاءِ توهان جي ويب سائيٽ تائين رسائي کي محدود ڪرڻ جي اجازت ڏئي ٿو. اهو ڪارآمد ٿي سگهي ٿو جيڪڏهن توهان ڪجهه ماڻهن يا ناپسنديده بوٽس لاءِ توهان جي سائيٽ يا ان جي مخصوص حصن تائين رسائي کي روڪڻ چاهيو ٿا.
هڪ IP پتي کي بلاڪ ڪرڻ هن حڪم سان ڪيو ويندو آهي:
Order Deny,Allow
Allow from all
Deny from 11.22.33.44
ڪيترن ئي IP پتن کي بلاڪ ڪرڻ ساڳئي طرح " Dany from " لائن کي گهربل پتن سان نقل ڪندي ڪيو ويندو آهي .
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
رسائي جي مڪمل انڪار لاءِ، هدايت نامو استعمال ڪريو Deny from all ، ۽ ماسڪ ذريعي پتي کي بلاڪ ڪرڻ لاءِ، Deny from 11.22 بيان ڪريو.
جتي، 11.22 IP پتي جو ماسڪ آهي.
يوزر ايجنٽ پاران گهمڻ وارن کي بلاڪ ڪرڻ
.htaccess فائل ۾ يوزر-ايجنٽ پاران استعمال ڪندڙن کي بلاڪ ڪرڻ هڪ طريقو آهي جيڪو ڪنٽرول ڪرڻ جو هڪ طريقو آهي ته ڪير توهان جي ويب سرور تائين رسائي حاصل ڪري سگهي ٿو ان برائوزر بابت معلومات جي بنياد تي جيڪو وزٽر استعمال ڪري ٿو. يوزر-ايجنٽ اسٽرنگ ۾ برائوزر بابت ڊيٽا شامل آهي جيڪو هڪ شخص توهان جي سرور سان رابطو ڪرڻ لاءِ استعمال ڪري ٿو، ۽ هن معلومات جي مهرباني، توهان ڪجهه استعمال ڪندڙن لاءِ رسائي کي محدود ڪري سگهو ٿا.
يوزر-ايجنٽ پاران بلاڪ ڪرڻ جو سڀ کان عام طريقو 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} استعمال ڪندڙ-ايجنٽ اسٽرنگ کي چيڪ ڪرڻ لاءِ استعمال ڪيو ويندو آهي.
- ^Bot1، ^Bot2، ^Bot3 يوزر-ايجنٽ اسٽرنگ جون مثالون آهن جن کي اسان بلاڪ ڪرڻ چاهيون ٿا. NC موڊيفائر ظاهر ڪن ٿا ته مقابلو ڪيس-غير حساس هجڻ گهرجي.
- RewriteRule ^.*$ - [F,L] درخواست تي لاڳو ٿئي ٿو جيڪڏهن RewriteCond جون ڪا به شرط پوريون ٿين ٿيون. اهو 403 منع ٿيل اسٽيٽس ڪوڊ (F) سان جواب موڪلي ٿو ۽ قاعدن (L) جي پروسيسنگ کي روڪي ٿو.
htaccess ۾ ڪيشنگ
.htaccess فائل ذريعي ڪيشنگ کي ترتيب ڏيڻ سان توهان جي سائيٽ کي تيز ڪرڻ ۾ مدد ملندي آهي، ان کي استعمال ڪندڙن لاءِ تيز لوڊ ڪرڻ سان. اهو هن طرح ڪم ڪري ٿو: ڪجهه فائلون، جهڙوڪ تصويرون، CSS اسٽائل، ۽ جاوا اسڪرپٽ اسڪرپٽ، پهرين لوڊ کان پوءِ صارف جي برائوزر ڪيش ۾ محفوظ ڪيون وينديون آهن. هاڻي برائوزر انهن فائلن کي ڪيش مان استعمال ڪري سگهي ٿو، انهن کي سرور تان ٻيهر لوڊ ڪرڻ بدران هر وقت جڏهن صارف ڪنهن صفحي تي ويندو آهي. اهو لوڊ ٿيڻ جو وقت گهٽائي ٿو ۽ سائيٽ جي ڪارڪردگي کي بهتر بڻائي ٿو.
هڪ مثال تي غور ڪريو:
# 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 ماڊلز ان معلومات کي دٻائڻ ۾ مدد ڪن ٿا جيڪا سرور استعمال ڪندڙن جي ڊوائيسز ڏانهن موڪلي ٿو. اهو فائلن کي سائيز ۾ ننڍو بڻائي ٿو، جيڪو موڙ ۾ صفحي جي لوڊ ٿيڻ کي تيز ڪري ٿو. بهرحال، اهو ياد رکڻ ضروري آهي ته انهن ماڊلز جي سپورٽ ۽ ترتيب توهان جي سرور جي لحاظ کان مختلف ٿي سگهي ٿي.
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 سان ڪم ڪرڻ ۾ مهارت حاصل ڪري وٺو، توهان ويب سائيٽن جي ڪارڪردگي ۽ ڪارڪردگي کي بهتر بڻائڻ لاءِ هڪ طاقتور اوزار حاصل ڪندا آهيو.