htaccess

naeim_crack

Active Member
سلام

اگر از وب‏سرور آپاچی برای وب‏سایت خود استفاده می‏کنید، دیگر نیازی نیست برای هر مشکل جزئی و کوچک، به وب‏مستر هوستینگ‏تان تماس بگیرید. با یادگیری قابلیت‏های مهم فایل .htaccess، می‏توانید کنترل کامل وب‏سایت خود را برعهده بگیرید.

فایل .htaccess یک فایل ساده اسکی (ASCII) می‏باشد که می‏توانید آن را به وسیله نرم‏افزارهای متنی ساده نظیر Notepad و یا SimpleText به وجود آورید. دقت داشته باشید که این فایل دارای هیچ نامی نمی‏باشد و فقط دارای پسوند است که پسوند آن، htaccess می‏باشد. برای درست کردن این فایل می‏توانید فایل متنی خود را که مثلا به صورت fantazio.txt می‏باشد، تغییر نام داده و آن را به صورت .htaccess درآورید.

تذکر: اگر از ویندوز استفاده می‏کنید و هنگام تغییر نام دادن فایل به .htaccess، پیغام خطایی مبنی بر اینکه «می‏بایست برای فایل خود نامی را اختیار کنید» دریافت می‏کنید، فایل را بر روی سرور آپلود کرده و سپس در سرور آن را تغییر نام دهید. این کار به وسیله نرم‏افزارهای اف‏تی‏پی نظیر CuteFTP یا AbsoluteFTP بسیار ساده می‏باشد.

در هنگام استفاده از فایل .htaccess، دانستن سه نکته از اهمیت به‏سزایی برخوردار است:

نکته اول: فایل .htaccess را می‏بایست به صورت ASCII آپلود کرده و مجوز دسترسی به آن را بر روی 644 (یا rw-r--r--) تنظیم نمایید.

نکته دوم: فایل .htaccess را می‏توانید به پوشه‏های مختلفی اعمال نمایید. به عنوان مثال اگر آن را بر روی root آپلود نمایید، تنظیمات آن به کل وب‏سایت اعمال خواهد شد و اگر آن را درون پوشه‏ای نظیر images/ آپلود نمایید، تنظیمات آن به پوشه images و زیرپوشه‏های آن اعمال خواهد شد.

نکته سوم: هر htaccess را می‏بایست درون یک خط تایپ نمایید. یعنی در انتهای هر دستور، می‏بایست یک‏بار کلید Enter را فشار دهید.

جلوگیری از لیست شدن محتویات یک پوشه

فرض کنید پوشه‏ای از تصاویر دارید و نمی‏خواهید که افراد غریبه، محتویان این پوشه را دیده و آن‏ها را تماشا کنند. برای این کار، سه راه وجود دارد:

1- ساخت یک صفحه index و قرار دادن آن در پوشه مورد نظر

2- استفاده از فایل .htaccess

3- استفاده از فایلهای HEADER و README

از آنجا که بحث ما در مورد فایل .htaccess می‏باشد، راه دوم را مورد بررسی قرار می‏دهیم. برای این کار می‏بایست از فرمان IndexIgnore استفاده نمایید:

IndexIgnore *

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

IndexIgnore *.gif *.jpg

در واقع این کد از لیست‏شدن تمامی فایل‏هایی که به .gif و .jpg ختم می‏شوند، جلوگیری می‏کند.

حال فرض کنید که سرور شما، به طور پیش‏فرض، از لیست‏شدن پوشه‏ها جلوگیری کرده است و شما می‏خواهید آن را تغییر دهید. برای این کار می‏توانید از دستور زیر استفاده کنید:

Options +Indexes


عوض کردن صفحه پیش‏فرض وب‏سایت

به طور کلی، تمامی وب‏سرورها از روی قانون خاصی صفحات وب را نشان می‏دهند. برای آنکه صفحات وب تنها به یک پسوند منحصربه‏فرد نظیر .htm ختم نمی‏شوند و انواع‏و‏اقسام پسوند‏های مختلف، برای صفحات وب وجود دارد.

حال فرض کنید که وب‏سرور شما، ابتدا فایل index.html را نشان می‏دهد و در صورت نبود آن، فایل‏های index.htm، index.php و ... شما می‏خواهید این روند را تغییر داده و فایل index.php را در اولویت قرار دهید. بدین منظور می‏بایست از دستور DirectoryIndex استفاده نمایید:

DirectoryIndex index.php index.cgi index.pl default.htm

کد بالا ابتدا به دنبال فایل index.php گشته و در صورت پیدا کردن آن، آن را به عنوان صفحه وب پیش‏فرض نمایش می‏دهد. اگر فایل index.php پیدا نشد، سرور به دنبال فایل بعدی که index.cgi می‏باشد گشته و همین روال، ادامه پیدا می‏کند. دقت داشته باشید که شما حتما مجبور به استفاده از index برای نام فایل نیستید و از هر اسم دیگری نیز، می‏توانید استفاده کنید.

Redirects

شاید تا به حال برایتان اتفاق افتاده باشد که به وب‏سایتی مراجعه کرده باشید و سپس متوجه شوید که آدرس وب‏سایت به طور اتوماتیک عوض شده و در واقع شما به آدرس دیگری ارجاع داده‏شده‏اید. برای این‏کار می‏توانید از دستور Redirect استفاده نمایید:

Redirect /olddirectory/oldfile.html http://yoursite.com/newdirectory/newfile.html

همچنین می‏توانید یک پوشه را به پوشه دیگر ارجاع دهید:

Redirect /olddirectory http://yoursite.com/newdirectory/


Hot Linkin

در جامعه وب‏مسترها، عبارت Hot Linkin یک عبارت نفرت‏برانگیز است که از آن به عنوان «نقره‏داغ وب‏مسترها» نیز یاد می‏شود. اما معنای آن چیست؟

فرض کنید دارای یک سایت عکاسی هستید که روزانه تعداد زیادی عکس در زمینه‏های مختلف را در آن آپلود می‏کنید و در اختیار عموم قرار می‏دهید. حال فرد دیگری از عکس‏های شما در وب‏سایت خود استفاده می‏کند. این کار نه تنها برای شما هیچ سودی نخواهد داشت، بلکه از پهنای باند شما (BW) خواهد کاست و در نتیجه به زحمت و هزینه خواهید افتاد.

همچنین شما نمی‏توانید بفهمید که چه وب‏سایت‏هایی از عکس‏های شما استفاده کرده‏اند تا به آن‏ها اخطار دهید.

برای جلوگیری از چنین عملی، می‏توانید Hot Linkin را به وسیله mod_rewrite غیر فعال کنید:
کد:
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC] 
RewriteRule \.(gif|jpg)$ - [F]
یادتان نرود که mydomain.com را به آدرس وب‏سایت خود تغییر دهید. همچنین می‏توانید کاری کنید در صورت استفاده از عکس‏های سایت شما، به جای نمایش آن‏ها، عکس مورد نظر شما نشان داده شود. مثلا اگر سایت A از عکس‏های سایت شما استفاده کرد، عکسی را نمایش دهید که تبلیغ سایت شما باشد. برای این‏کار می‏توانید از کد زیر استفاده کنید:

کد:
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC] 
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/nasty.gif [R,L]

آدرس عکس خود را در خط آخر کد تغییر دهید.

تذکر: mod_rewrite یکی از قابلیت‏های وحشت‏ناک به‏دردبخور آپاچی می‏باشد که توضیح مفصل آن، احتیاج به یک مقاله صدصفحه‏ای دارد.

صفحات خطا

به احتمال قوی با خطای معروف 404 در اینترنت سروکار داشته‏اید. خطایی که اعصاب آدم را به‏هم می‏زند. این خطا در صورتی ظاهر می‏شود که صفحه مورد نظر شما (به هر دلیل)، در دسترس نباشد. یعنی در واقع صفحه‏ای وجود نداشته باشد و شما آن را از مرورگر بخواهید.

وب‏سایت‏های حرفه‏ای و آن‏هایی که خواهان جذب مخاطب برای وب‏سایت‏هایشان هستند، این صفحات خطا را (که هر فرد با دیدن آن‏ها سریعا دکمه close را می‏زند) سفارشی می‏کنند. یعنی به جای آن خطای 404 تکراری، یک صفحه خطای مناسب (در فرمت وب‏سایت) می‏گذارند و به مخاطب راهنمایی‏هایی می‏دهند.

معمولا در این نوع صفحات خطا، بیوگرافی کوچکی از وب‏سایت و زمینه کاری آن نوشته شده و سپس مخاطب را (به وسیله لینک و یا اتوماتیک) به صفحه اصلی وب‏سایت ارجاع می‏دهند.

برای ساخت صفحات خطا (که تعداد آنها کم هم نیست!)، و ارجاع مخاطبین درصورت برخورد به صفحات خطای مختلف به آن‏ها، می‏توانید از کد زیر استفاده کنید:
کد:
ErrorDocument code /directory/filename.ext
به عنوان مثال کد زیر، مخاطب را در صورت مواجه شدن با خطای 404، به صفحه notfound.html ارجاع میدهد:

کد:
ErrorDocument 404 /notfound.html
 

اعظم

New Member
با سلام .
در يك هاست با تنظيم فايل htaccess خطاي 404 را كنترل كردم اما صفحه اي كه براي اين كار در نظر گرفتم يک صفحه php بود كه اعمال مورد نظر را انجام مي داد ولي خطايي كه روي صفحه نمايش داده مي شود همان خطاي پيش فرض هاست است .
در ضمن در کنترل پنل هاست گزينه custom error وجود دارد كه صفحه اي كه براي كنترل خطا مي سازد با نام 404.shtml است و تا كد خطاي مورد نظر را با اين نام ذخیره نكني پيغام مورد نظر نمايش داده نمي شود ؟

لطفا راهنمايي كنيد . چظوری صفحه خطاي خودم كه phpبود ، جایگزین صفحه پیشفرض کنم .

در ضمن در htaccess كد زير رو گذاشتم :
errordocument 404/myerror.php

با تشکر
 

internet

Member
با سلام
دوست عزيز با تشکر از شما من هر کاري کردم اين قسمت hot link جواب نمي ده يعني من نمي دونم درست بايد چيکار کنم اگه آدرس سايت من اين باشه بايد چيکار کنم دستورات رو برام بنويسيد لطفاً و بگين که بايد فايل htaccess رو کجا قرار بدم و چه دستوري توش بزارم يعني من اول مي خوام اين دستور اجرا بشه هميشه و بعد هم هر کي عکس گذاشت تصوير لوگوي سايت خودم براش فرستاده بشه ببنيد اين هم لينک سايت من :
http://monkey.unixbsd.info/~shirazit/
اين هم لينک انجمن سايت من :
http://monkey.unixbsd.info/~shirazit/forum
خوب حالا مي خوام اگه کسي خواست يه تصوير از داخل اين انجمن ها برداره نتونه يعني وقتي که عکس رو برداشت و داخل سايت خودش گذاشت لوگوي بالاي سايت من پخش بشه ( انجمن تخصصي اينترنت و فناوري اطلاعات شيراز)
خوب منتظر راهنمايي شما هستم
لطفاً توضيحات واضح باشه براي مبتدي ها سخت نباشه
با تشکر
پيمان از شيراز
 

جدیدترین ارسال ها

بالا