Knowledgebase Profitserver سروس کے ساتھ کام کرنے کے لیے آسان ہدایات
مین Knowledgebase htaccess فائل کو ترتیب دینا

htaccess فائل کو ترتیب دینا


اس مضمون میں، ہم .htaccess فائل کو استعمال کرنے کے بنیادی اصولوں کو تلاش کریں گے، جو SEO کو بڑھانے کے لیے بہت ضروری ہے۔ یہ فائل سرچ انجنوں کے ذریعے صفحات کی مناسب ترتیب کو یقینی بناتی ہے۔ ہم سیکھیں گے کہ کس طرح ری ڈائریکٹ کا انتظام کرنا ہے، سیکیورٹی کو کنفیگر کرنا ہے، اور کارکردگی کو بڑھانا ہے۔ مزید برآں، ہم اس فائل کو آزادانہ طور پر کنفیگر کرنے کے بارے میں تجاویز فراہم کریں گے۔

کیوں htaccess کی ضرورت ہے۔

.htaccess فائل اپاچی سرورز پر ویب ڈویلپرز کے لیے ایک قسم کے "ریموٹ کنٹرول" کے طور پر کام کرتی ہے۔ یہ مختلف پیرامیٹرز کو ایڈجسٹ کرنے اور ویب سائٹ کے رویے کو منظم کرنے کے لیے آسان ٹولز پیش کرتا ہے۔ جب سرور کی مین کنفیگریشن فائلوں تک براہ راست رسائی دستیاب نہیں ہوتی ہے (جیسا کہ اکثر ورچوئل ہوسٹنگ کے ساتھ ہوتا ہے، مثال کے طور پر)، .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>

کا استعمال کرتے ہوئے اسی طرح کی ایک ری ڈائریکٹ ری ڈائریکٹ مستقل ہدایت اس طرح نظر آتی ہے:

<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

اس کا مطلب ہے کہ جب a 404 غلطی ہوتی ہے، صفحہ پر /errors/not_found.html کھول دیا جائے گا. مطلق یو آر ایل اسی طرح بیان کیے گئے ہیں:

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 کے ذریعے رسائی کو مسدود کرنا

.htaccess فائل میں IP کے ذریعے رسائی کو بلاک کرنا ایک ایسا طریقہ ہے جو آپ کو مخصوص 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 ایڈریس ہے۔ ماسک.

یوزر ایجنٹ کے ذریعے زائرین کو مسدود کرنا

.htaccess فائل میں User-Agent کے ذریعے صارفین کو بلاک کرنا یہ کنٹرول کرنے کا ایک طریقہ ہے کہ وزیٹر کے استعمال کردہ براؤزر کے بارے میں معلومات کی بنیاد پر آپ کے ویب سرور تک کون رسائی حاصل کر سکتا ہے۔ 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>

اس مثال میں:

  1. RewriteCond %{HTTP_USER_AGENT} صارف-ایجنٹ سٹرنگ کو چیک کرنے کے لیے استعمال کیا جاتا ہے۔
  2. ^Bot1، ^Bot2، ^Bot3 یوزر ایجنٹ کے تاروں کی مثالیں ہیں جنہیں ہم بلاک کرنا چاہتے ہیں۔ این سی موڈیفائر اس بات کی نشاندہی کرتے ہیں کہ موازنہ کیس غیر حساس ہونا چاہئے۔
  3. RewriteRule ^.*$ - [F,L] درخواست پر لاگو ہوتا ہے اگر RewriteCond میں سے کوئی شرائط پوری ہوتی ہیں۔ یہ 403 منع شدہ اسٹیٹس کوڈ (F) کے ساتھ جواب بھیجتا ہے اور پروسیسنگ رولز (L) کو روکتا ہے۔

htaccess میں کیشنگ

.htaccess فائل کے ذریعے کیشنگ کو ترتیب دینے سے آپ کی سائٹ کو صارفین کے لیے تیزی سے لوڈ کرنے میں مدد ملتی ہے۔ یہ اس طرح کام کرتا ہے: کچھ فائلیں، جیسے کہ امیجز، سی ایس ایس اسٹائلز، اور جاوا اسکرپٹ اسکرپٹس، پہلے لوڈ ہونے کے بعد صارف کے براؤزر کیش میں محفوظ ہوجاتی ہیں۔ اب براؤزر ان فائلوں کو سرور سے دوبارہ لوڈ کرنے کے بجائے کیش سے استعمال کر سکتا ہے جب بھی صارف کسی صفحے پر جاتا ہے۔ اس سے لوڈنگ کا وقت کم ہوتا ہے اور سائٹ کی کارکردگی بہتر ہوتی ہے۔

ایک مثال پر غور کریں:

# 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 فائل سائٹ پر کام کر رہی ہے، آپ درج ذیل اقدامات کر سکتے ہیں:

  1. .htaccess فائل کو جان بوجھ کر غلطی کے ساتھ تبدیل کریں۔ جواب میں، سرور کو ایک غلطی دینا چاہئے. یہ طریقہ ظاہر کرتا ہے کہ آیا فائل کا عمل عام طور پر سرور پر لاگو ہوتا ہے۔
  2. آپ نے جو مخصوص تبدیلیاں کی ہیں ان کی فعالیت کو چیک کریں۔ مثال کے طور پر، پیرامیٹرز میں سے کسی ایک میں معمولی ایڈجسٹمنٹ کریں اور تبدیلیوں کی موجودگی کا اندازہ لگائیں۔
  3. اگر تبدیلیاں سرور کے جواب سے متعلق ہیں تو صفحہ کا اسٹیٹس کوڈ چیک کریں۔ یہ کیسے کریں، ہم نے پہلے مضمون میں بیان کیا ہے HTTP ایرر کوڈز: سرور کی غلطیوں کی مکمل فہرست.
  4. سرور لاگز کا حوالہ دیں۔ وہ .htaccess فائل کے آپریشن سے متعلق تمام غلطیاں ظاہر کرتے ہیں۔
  5. آن لائن خدمات یا ٹولز کا استعمال کرتے ہوئے جانچ کا انعقاد کریں۔

یہ سمجھنا ضروری ہے کہ .htaccess فائل کی فعالیت کو چیک کرنے کے لیے، آپ کو ایک ساتھ تمام اقدامات کرنے کی ضرورت نہیں ہے۔ فہرست میں سے سب سے موزوں طریقہ کا انتخاب کرنا اور اسے استعمال کرنا کافی ہے۔

نتیجہ

.htaccess فائل کو ترتیب دینا آپ کے اپاچی سرور کو بہتر بنانے اور اس کی حفاظت کرنے میں ایک اہم قدم ہے۔ ہم نے دریافت کیا ہے کہ یہ فائل کس طرح ری ڈائریکٹس کو منظم کرنے، مواد کو کمپریس کرنے اور سیکیورٹی کو یقینی بنانے میں مدد کرتی ہے۔ htaccess کے ساتھ کام کرنے میں مہارت حاصل کرنے کے بعد، آپ ویب سائٹس کی کارکردگی اور فعالیت کو بہتر بنانے کے لیے ایک طاقتور ٹول حاصل کرتے ہیں۔

❮ پچھلا مضمون FTP سرور سیٹ اپ
اگلا مضمون ❯ لینکس پر ویب سرور (Apache-PHP-MySQL/MariaDB) کو کیسے ترتیب دیا جائے

ہم سے VPS کے بارے میں پوچھیں۔

ہم دن یا رات کے کسی بھی وقت آپ کے سوالات کا جواب دینے کے لیے ہمیشہ تیار ہیں۔