طراحی قالب وردپرس با آرتاباز

بیش از 0 پروژه طراحی وب سایت و 0٪ رضایت مشتریان فقط کافیست نمونه کارها را مشاهده کنید.

آموزش دستورات کاربردی htaccess

(HyperText Access) یک فایل پیکربندی ساده است که به طراحان، توسعه دهندگان و برنامه نویسان اجازه می دهد تا در یک سطح یکسان نسبت به ایجاد تغییرات در پیکربندی وب سرور آپاچی به منظور فراهم آوردن قابلیت های اضافه اقدام کنند. از جمله این قابلیت ها که قابلیت اضافه شدن را دارند می توان به ریدایرکت کردن کاربران(redirecting users)، بازنویسی های آدرس(URL re-writes) و فراهم آوردن دایرکتوری های محافظت شده توسط رمز عبور اشاره کرد. اما این تمامی کارهای قابل انجام نبوده و نیست و سطح کارهای قابل انجام بیشتر از این حرف هاست. با ما همراه باشید.

.

htaccess

.

ساخت و آپلود یک فایل htaccess. :

ساخت یک فایل htaccess file. بسیار آسان است. برای این منظور کافی است نرم افزار داخلی تحت ویندوز Notepad یا هر نرم افزار مبتنی بر متن مشابه دیگر را باز کرده، گزینه word-wrap که برای شکست خطوط استفاده می شود را غیرفعال، کد مورد نظر را وارد کرده و در نهایت فایل ایجاد شده را به روش معمولی ذخیره کنید. به عنوان مثال می توانید از الگوی نام دهی زیر برای فایل مورد نظر استفاده کنید.
htaccess.txt
بعد از انجام اینکار، فایل ایجاد شده را به پوشه مناسب در وب سرور خود انتقال داده و سپس به مانند زیر آن را تغییر نام دهید.

htaccess.

نکته ای که باید همیشه مد نظر داشته باشید این است که فایل htaccess. باید از مجوزهای 644 استفاده کرده و در حالت ASCII در وب سرور مورد نظر شما بارگذاری شود. در صورتی که این فایل در وب سرور شما کار نمی کند باید با مدیر سیستم یا شرکت میزبانی وبی که از آن اشتراک می گیرید ارتباط برقرار کرده و مطمئن شوید که قابلیت ‘htaccess.’ را در داخل حساب کاربری شما فعال کرده اند. به این دلیل باید این کار را بکنید، چرا که برخی از شرکت های میزبان وب امکان استفاده از این فایل را بدون مجوز نمی دهند. با این حال باید بدانید که در حال حاضر امکان استفاده از این فایل و قابلیت های آن در سرورهای مبتنی بر ویندوز وجود ندارد.

 

استفاده از htaccess. :

بسیار مهم است که همیشه به خاطر داشته باشید که یک فایل htaccess. بر پوشه‌ای که در درونش قرار گرفته و همچنین تمامی زیرپوشه های آن تاثیر خواهد گذاشت. بنابراین اگر شما فایل htaccess. را به ریشه وبسایت خود اضافه کنید تمامی پوشه های وبسایت تحت تاثیر قرار خواهند گرفت. در نمونه زیر می توانید این تاثیرات را ملاحظه کنید:

http://www.yourdomain.com/

| — directory1
| — directory2
| — directory3
| | — directory3/childdirectory1
| | — directory3/childdirectory2
| — .htaccess
| — index.html

اما اگر شما فایل ‘htaccess.’ را مثلا در آدرس http://www.yourdomain.com/directory1 قرار دهید تمامی ویژگی های htaccess به این پوشه و پوشه های زیر مجموعه آن اعمال خواهد شد. در نمونه زیر می توانید جزییات این تاثیر را بهتر متوجه شوید

http://www.yourdomain.com/
| — directory1
| | — directory1/childdirectory1
| | — directory1/childdirectory2
| | — directory1/childdirectory3
| | | — directory1/childdirectory3/newdirectory1
| | | — directory1/childdirectory3/newdirectory2
| | — .htaccess
| | — index.html

 بعد از ویرایش فایل htaccess. در چندین مرحله، ممکن است نتیجه نهایی کمی پیچیده به نظر برسد. از این رو پیشنهاد من این است که در موقعیت های مناسب کامنت هایی را برای فهم بهتر اضافه کنید. برای این منظور کافی است نماد # را در ابتدای هر خطی که قصد دارید کامنت باشد قرار دهید تا به عنوان یک کامنت در نظر گرفته شود.

# comment here

# another comment here

شاخص پوشه :

شما می توانید فایل شاخص پیش فرض یک پوشه را به صورت زیر تغییر دهید :

DirectoryIndex
welcome.html

 

 

صفحات سفارشی خطا :

شما می توانید کاربران را به یک صفحه خطای مورد نظر خود با استفاده از دستور زیر هدایت کنید :

ErrorDocument 404 error.html

ناگفته نماند در این زمینه نیز می توانید از دستورات دیگر به شکل زیر استفاده کنید :

ErrorDocument 400 /400.html

ErrorDocument 401 /401.html

ErrorDocument 403 /403.html

ErrorDocument 404 /404.html

ErrorDocument 500 /500.html

ErrorDocument 502 /502.html

ErrorDocument 504 /504.html

نکته ای که باید در مورد صفحات خطا مد نظر داشته باشید این است که خود باید نسبت به ایجاد این صفحات سفارشی اقدام کنید.

 

حذف اجبار درج www در نوار آدرس :

همانطور که احتمالا می دانید برخی سایت ها هستند که کاربران را از وارد کردن سه حرف www در ابتدای نام دامین خود بی نیاز می کنند که ایده بسیار خوبی است. اگر شما هم تمایل به چنین کاری دارید می توانید از الگوی کد زیر استفاده کنید :

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]

 

تعیین ناحیه زمانی یا Time Zone برای سرور :

برای این منظور می توانید از الگوی دستوری زیر پیروی کنید :

SetEnv TZ Europe/London

 

کنترل دسترسی به فایل ها:

اکثر افراد، آگاه هستند که فایل htaccess. اغلب بیشتر به منظور محدود کردن یا رد دسترسی یک کاربر به پوشه ها و فایل های انحصاری است. برای رد دسترسی به کلیه کاربرها می توانید از الگوی دستوری زیر استفاده کنید :

deny from all

 

با این وجود اگر خواستید یک آیپی آدرس خاص را در دسترسی به فایل ها و پوشه ها محدود کنید می توانید از الگوی دستوری زیر استفاده کنید :

order allow,deny
deny from XXX.XXX.XXX.XXX
allow from all

 

همچنین برای محدود کردن چندین آیپی آدرس نیز می توانید از الگوی دستوری به شکل زیر بهره ببرید :

allow from all
deny from 145.186.14.122
deny from 124.15

 

ریدایرکت های دائمی 301 :

در صورتی که نگران لینک ها و آدرس های قدیمی ای بودید که در حال حاضر حذف شده اند می توانید از الگوی دستوری به شکل زیر بهره ببرید:

Redirect 301 /olddirectory/file.html
http://www.domainname.com/newdirectory/file.html

 

تنظیم آدرس پست الکترونیکی برای مدیر سرور:

با استفاده از کد زیر می توانید نسبت به مشخص کردن یک آدرس پست الکترونیکی پیش فرض برای مدیر سیستم اقدام کنید :

ServerSignature EMail
SetEnv SERVER_ADMIN webmaster@domain.com

جست وجوی تبلت ها و ریدایرکت کردن آنها :

اگر دوست دارید کاربرانی که از تبلت برای اتصال به وبسایت شما استفاده می کنند را به یک صفحه وب یا یک دایرکتوری خاص هدایت کنید می توانید از الگوهای دستوری، به شکل زیر استفاده کنید:

RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://yourdomain.com/folderfortablets [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$
RewriteRule ^(.*)$ http://yourdomain.com/folderfortablets [R=301]

محافظت از لینک :

در صورتی که نگران مسائلی همچون استفاده غیرمجاز از پهنای باند هستید و یا کلا تمایل به کاهش میزان استفاده از پهنای باند خود را دارید می توانید از الگوهای کد به صورت زیر بهره ببرید :

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domainname.com/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://domainname.com/img/hotlink_f_o.png [nc]

مجبور کردن به ذخیره فایل به صورت Save As :

اگر دوست دارید کاربران به جای دیدن فایل ها در مرورگر مجبور باشند آنها را روی کامپیوتر خود دانلود کنند می توانید از الگوی کد به صورت زیر استفاده کنید :

AddType application/octet-stream .csv
AddType application/octet-stream .xls
AddType application/octet-stream .doc
AddType application/octet-stream .avi
AddType application/octet-stream .mpg
AddType application/octet-stream .mov
AddType application/octet-stream .pdf

و یا اینکه به سادگی از کد تک خطی زیر بهره ببرید :

AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4

بازنویسی آدرس ها :

اگر دوست داشتید خواندن آدرس های خود را کمی ساده تر کنید مثلا تغییر آدرس content.php?id=92 به content-92.html، می توانید از قوانین بازنویسی به شکل زیر بهره ببرید :

RewriteEngine on
RewriteRule ^content-([0-9]+).html$ content.php?id=$1

ریدایرکت کردن مرورگر به https :

کد زیر همیشه برای آن دسته از افرادی که یک گواهینامه SSl نصب کرده اند مفید است :

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

فعال سازی SSI :

اگر شما هم بنا به نیاز و سلیقه خود تمایل به فعال سازی SSI برای انواع فایل های HTML و SHTML دارید می توانید دستورات زیر را امتحان کنید :

AddType text/html .html
AddType text/html .shtml
AddHandler server-parsed .html
AddHandler server-parsed .shtml
AddHandler server-parsed .htm

فعال یا غیرفعال کردن مرور دایرکتوری :

برای فعال یا غیرفعال کردن مرور دایرکتوری می توانید دستورات زیر را به کار ببرید :

#disable directory browsing
Options All -Indexes
#enable directory browsing
Options All +Indexes

تغییر هدرهای زبان و مجموعه کاراکتر :

آن دسته افرادی که تمایل به تغییر مجموعه کاراکتر فعلی و زبان مورد نظر برای یک دایرکتوری خاص را دارند می توانند از الگوهای زیر بهره ببرند :

AddDefaultCharset UTF-8
DefaultLanguage en-GB

بلوکه کردن مراجعات ناخواسته :

اگر شما احیانا تمایل به بلوک کردن کاربرانی در رابطه با یک وبسایت مشخص و یا یک سری وبسایت ها داشتید می توانید از الگوی دستوری زیر استفاده کنید :

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} website1.com [NC,OR]
RewriteCond %{HTTP_REFERER} website2.com [NC,OR]
RewriteRule .* - [F]
</ifModule>

بلوک کردن ایجنت های کاربری ناخواسته :

با روش زیر شما می توانید از هدر رفتن بی رویه پهنای باند خود با بلوکه کردن بات ها و اسپایدرها، جلوگیری به عمل آورید :

<IfModule mod_rewrite.c>
SetEnvIfNoCase ^User-Agent$ .*(bot1|bot2|bot3|bot4|bot5|bot6|) HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(bot1|bot2|bot3|bot4|bot5|bot6|) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
</ifModule>

جلوگیری از دسترسی به یک محدوده بزرگی از فایل ها :

اگر شما هم مثل برخی کاربران تمایل به محافظت از فایل های خاص خود و یا حتی بلوکه کردن دسترسی به فایل htaccess. را داشتید می توانید با سفارشی سازی الگوی دستوری زیر به این هدف برسید :

<Files privatefile.jpg>
order allow,deny</span>
deny from all</span>
</Files>
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</FilesMatch>

در نوشتن این مقاله آموزشی سعی شد محدوده توابعی که به نوعی با فایل htaccess ارتباط داشتند مورد بررسی قرار گیرد. در این مقاله همه چیز مورد بررسی قرار نگرفت. همانطور که احتمالا می دانید htaccess. یک ابزار قدیمی است اما با این حال هنوز هم نقش کلیدی خود را در افزایش بهره وری وبسایت شما بازی می کند.

 

ترجمه شده توسط تیم آرتاباز، هادی نجار.

 

………………………………………………….

htaccess  چیست؟

چگونه یک فایل htaccess بسازیم؟

htaccess چیست و چگونه کار می کند؟

 

 



اگر این مطلب را مفید ارزیابی کردید لطفا به اشتراک بگذارید .

۲ دیدگاه

  1. پیشگامان

    من قبلا با این فایل htaccess خیلی مشکمل داشتم – یعنی ماهیت وجودیش و لزوم بودنش رو روی هاست درک نمیکردم – خیلی دنبال این بودم که بتونم یجا دستورات رو بخونم و درکشون کنم – ممنون از وب سایت خوبتون و مقاله فوق العاده ای که نوشتید .

  2. رعنا

    سلام.خیلی خوب بود.برای دات نت چکار کنیم؟

ارسال نظر

» دیدگاه تان را فارسی بنویسید ، دیدگاه های انگلیسی و فینگلیش تایید نمی شوند .