LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

همه چیز درباره htaccess

يكشنبه, ۱۹ آبان ۱۳۹۲، ۰۸:۱۴ ق.ظ
htaccess چیست ؟یک فایل بسیار ساده با محیط تکست .

چگونه میتوان آنرا تولید کرد ؟

برای ساختن این فایل تنها کافیست یک محیط تکست ادیتور داشته باشید . مثل notepad

این فایل در کجا هست ؟

این فایل در دایرکتوری اصلی وبسایت شما قرار دارد و هر دایرکتوری دیگری که بخواهید .

وظیفه این فایل چیست ؟

تقریبا تمامی محدودیت‌های اعمالی بر آن دایرکتوری را بر عهده دارد و میتواند پیغام‌های خطا را مدیریت کند و چندین وظیفه دیگر که اگر کمی در تنظیمات آن قصور و غفلت کنید شاید سایت شما بار گذاری نشود .



تمامی‌هاست‌ها از این نوع گونه فایل حمایت میکنند ؟

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

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

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

با استفاده از این فایل میتوانید پیغام‌های خطایی که ظاهر میشود را تغییر دهید یا اینکه صفحه را بدون استفاده از redirector کنترل پنل redirect کنید یا اینکه اجازه لیست گرفتن از دایرکتوری خاصی از وبسایتتون رو محدود کنید .

قبل از شروع کار مطمئن شوید که ادیتور شما خاصیت word wrap را غیر فعال کرده است اگر نه خودتان آنرا غیرفعال کنید .

فایل .htaccess در دایرکتوری اصلی وبسایت شما یا سابدایرکتوری شما قرار دارد دستوراتی که در این فایل قرار میگیرد نه تنها دایرکتوری جاری را تحت تاثیر خود قرار میدهد بلکه کلیه زیردایرکتوری‌های خود را نیز در بر میگیرد . بنابراین اگر از این فایل برروی دایرکتوری اصلی خودتان استفاده کنید تمامی سایت را در برمیگیرد . در ضمن میتوانید این فایل را در هر دایرکتوری که خواستید نیز ایجاد کنید تا محدوده کنترل در دست خودتان باشد . اگر با CSS کار کرده باشید کار کردن با این فایل هم تقریبا مشابه همان است و برای افرادی که با ان اشنایی دارند اسانتر است به هر حال هر فایلی که در دایرکتوری ویژه ای قرار دارد به نزدیکترین فایل htaccess خود مرتبط میشود و ان htaccess ان فایل را کنترل میکند .

برای ساختن این فایل هیچ نیازی به نرم افزار یا سخت افزار ویژه ای ندارید تنها به یک notepad یا هر پردازنده متنی دیگری نیازمندید .

برای ساختن این فایل که نامی ندارد و فقط هشت حرف برای نوع فرمت ان در نظر گرفته شده است “.htaccess” وقتی میخواهید این فایل را در پردازنده متنی خود ذخیره کنید نام فایل به این صورت ذخیره میشود .htaccess.txt

برای اینکه چنین اتفاقی نیفتد کافیست از منوی file گزینه save as… را انتخاب کنید در file type گزینه all files را انتخاب کنید و سپس در file name تایپ کنید “.htaccess” دات اچ تی اکسس را درون دو کوتیشن بگذارید اگر نتوانستید این کار را بکنید بعدا میتوانید از طریق کنترل پنل یا نرم افزار ftp خود نام فایل را عوض کنید . در مورد استفاده از نرم افزار‌های ftp بگویم که همانطور که میدانید اینگونه نرم افزار‌ها برای اسودگی اتصال به وبسرورتان میباشد که فایل‌ها را در سه نوع upload میکند که سه گزینه Auto , binary, ASCII وقتی این فایل را با ftp اپلود میکنید یادتان باشد نرم افزار شما در حالت ASCII باشد . در ضمن یک مطلب دیگر هم در این مورد که باید CHMOD که مخفف Change MODe میباشد را برای این فایل عوض کنید پرمیشن این فایل باید 644 باشد یا RW-R—R— که این عمل هم برای افزایش امنیت میباشد که خوشبختانه همگی اشنایی با ان را دارید اما شاید بعدا بیشتر در مورد permission‌ها توضیح دادم .

این فایل به شما اجازه میدهد که شما کاربران و ویزیتور‌های خودتان را از صفحه ای به صفحه دیگر منتقل کنید حتما شده است که بخواهید این کاررا انجام دهید مثلا در مورد خود من شما از parsx.com به weblog.parsx.com میروید البته من از این روش استفاده نکرده ام اما دلایل دیگری نیز میتواند عامل شود که شما از این ریدایرکت استفاده کنید شاید کاربر شما اشتباها ادرس صفحه ای از وبسایت شما را وارد کند یا اینکه شاید لینکی در وبسایت شما بنا به دلیلی شکسته شده باشد و از بین رفته باشد و ان صفحه پاک شده باشد به جای اینکه کاربر شما هیچ چیزی نبیند میتوانید انرا به صفحه اصلی سایت بسته به سلیقه خودتان منتقلش کنید . برای مثال فرض کنید کاربری با یک پیغام خطا مواجه شد برای آنکه او را به صفحه دیگری منتقل کنید باید به این صورت در فایل بنویسید :

ErrorDocument errornumber /filename.html    

به جای errornumber شماره خطا را مینویسید اصولا خطای 404 زیاد اتفاق میفتد بنابراین میتوانید شماره 404 را بنویسید .

اگر خواستید تمامی پیغام خطاها را به فولدر خاصی ببرید به اینصورت عمل کنید :

ErrorDocument 404 /errorpages/notfound.html 

در مورد شماره پیغام خطاها هم کمی بگویم :

400این پیغام اصولا زمانی ظاهر میشود که کاربر ادرس اشتباهی رفته باشد.

401وقتی کاربر به دایرکتوری و یا جایی میرود که اجازه ورود به انرا ندارد.

403وقتی فایل طوری تنظیم شده است که کاربر اجازه دسترسی به ان را ندارد.

404 not found.

500internal server error اشکال عموما از اسکریپت‌های داخلیست .

باز هم پیغام خطا داریم که زیاد به درد نمیخورد .

کاربرد دیگر این فایل استفاده از رمز عبور است که البته پیکر بندی ان کمی سخت تر از تنظیمات پیام‌های خطاست .

ابتدا فایلی به این نام ایجاد کنید .htpasswd این فایل هم خصوصیاتی چون فایل .htaccess دارد این فایل حاوی نام‌های کاربری و کلمه‌های عبور . که بصورت زیر انها را تعیین میکنید در این فایل

Username:password 
Username:password
Username:password

حواستان باشد که هر کدام در یک خط باشند و همچنین اشتباها فضای space در اخر خط‌ها وارد نکنید . در ضمن برای نام‌های کاربری که مشکلی پیش نمی‌اید اما برای کلمه‌های عبور برای افزایش امنیت باید از نرم افزارهایی که انها را تبدیل میکنند استفاده کنید . که بعدا کمی در این مورد توضیح خواهم داد .

یادتان باشد که این فایل را در فولدر‌های بالایی www یا public_html بگذارید یعنی در فولدر main .

حال برای انکه مشخص کنید کدام بخش از سایت یا کدام دایرکتوری شامل رمز عبور بشوند باید به این صورت عمل کنید در فایل htaccess خطوط زیر را اضافه کنید.
AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName "Secret Place"
 
<LIMIT GET POST>
require valid-user
</LIMIT>
دستورات فوق باعث میشوند که در صورت نادرستی و عدم تطابق کلمه عبور با انچه که در فایل مربوطه ثبت شده از ورود کاربر جلوگیری کند . بنابراین اگر کاربری خواست وارد دایرکتوری شود که بدینوسیله محافظت میشد یک منوی پاپ آپ ظاهر میشود که نام کاربری و رمز عبور را میطلبد .

اگر خواستید در یک فولدر تنها از یک فایل محافظت کنید و عملیات پسورد گذاری تنها برروی یک فایل انجام شود دستورات زیر را در فایل وارد کنید .
<files "filename.cgi">
AuthUserFile /home/pathto/.htpasswd
AuthType Basic
AuthName "Secret Place"
require valid-user
</files>


برای محافظت از خود فایل .htaccess نیز میتوانید خط زیر را وارد کنید :
<files ".htaccess">
order allow,deny
deny from all


</files>اگر هاست شما از این فایل پشتیبانی میکند اما از SSI پشتیبانی نمیکند کافیست خطوط زیر را وارد کنید تا از SSI هم پشتیبانی شود .
AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexed FollowSymLinks Includes


خط اول بیان میکند که کلیه فایل‌ها با پسوند shtml دارا صحت هستند خط دوم یک handler اضافه میکند خط سوم باعث میشود سرور این فایل‌ها را اجرا کند .

بنابراین شما خودتان بدون نیاز به درخواست از ادمین سرور توانستید SSI را فعال کنید .

اگر هم دوست دارید فایل‌های SSI بصورت جداگانه از فایل‌های html نباشند میتوانید خطوط زیر را اضافه کنید :
AddType text/html .shtml .html . htm
AddHandler server-prased .shtml .html .htm
Options Indexes FollowSymLinks Includes

این خطوط باعث میشوند که کلیه فایل‌ها با پسوند html نیز به سرور برای اجرا شدن منتقل شوند تا اگر کدی که برای SSI باشد داشته باشد را اجرا کند و سپس صفحه شروع به بارگذاری کند .

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

بنابراین خطوط زیر را اضافه کنید :
Order allow,deny
Deny from ipaddress
Allow from all


به جای ipaddress میتوانید ادرس ایپی را بنویسید مثل : 172.16.204.100

خط اول میگوید که شما میخواهید چکار کنید و خط دوم میگوید که ادرس مشخص شده را ممنوع کند . البته میدانید که هر فرد با هر قطع ارتباط از اینترنت مخصوصا سرویس‌های تلفنی بعد از هر بار اتصال ادرس ایپی انها عوض میشود یعنی 3 رقم اخر که برای اینکه کل 256 ادرس را ممنوع کنید کافیست ارقام اخری را ننویسید .

خط اخر هم به دیگران اجازه میدهد که وارد سایت شوند . در ضمن شما میتوانید نام دامنه را نیز ممنوع کنید به این صورت که به جای ادرس ای پی بنویسید : .parsx.com

وقتی کاربر سعی در ورود به صقحه ویژه که ممنوع شده است را دارد پیغام خطای 403 را میبیند . اگر میخواهید مثلا دایرکتوری خاصی را از دسترسی همه ممنوع کنید اما اسکریپت‌ها و دیگر اجزایی که به فایل نیاز دارند بتوانند به ان دسترسی پیدا کنند کافیست خط deny from all را اضافه کنید .

عوض کردن ایندکس فولدری خاص
اکثر میزبانهای وب فایلی که وظیفه لود شدن در هنگام باز کردن دایرکتوری خاصی را دارد با نام index قرار میدهند که با استفاده از htaccess میتوانید انرا عوض کنید . خط زیر را به فایل اضافه کنید :
DirectoryIndex filename.html


حتما دیده اید که اگر فایل index.html در دایرکتوری نبود سرور فایل دیگری مثلا index.php را اجرا میکند روش به اینصورت است که در دستور فوق بعد از filename.html با یک فضای خالی نام‌های دیگر را وارد میکنید . بنابراین سرور در دایرکتوری ویژه ابتدا به دنبال فایل اولی و سپس به دنبال فایل دومی و به همین ترتیب جستجو میکند . اگر هم هیچ یک از فایل‌ها پیدا نشد پیغام خطای 404 ظاهر میشود .

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

در فایل خط زیر را وارد کنید :
Redirect /OldDir/OldFile.html http://www.domainname.com/newdir



بنابراین دستور به شرح زیر است
Redirect oldlocation newlocation


منتهی یادتان باشد که newlocation باید نام ادرس کامل سایت باشد .


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

Options -Indexes

یا خط زیر را وارد کنید

IndexIgnore



 *اما عکس این عمل نیز میتواند اتفاق بیفتد یعنی به صورت پیشفرض در سرور تنظیم شده است که فایلها لیست نشودند اما شما میتوانید این گزینه را با خط زیر غیزفعال کنید :

Options +Indexes

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

IndexIgnore *.gif *.jpg


بعضی سرور‌ها بعضی از فایلها را نمیشناسند با استفاده از این فایل میتوانید خط زیر را وارد کنید تا انها را بشناسد مثلا برای فایل‌های فلش میتوانید دستور زیر را وارد کنید
AddType application/x-shockwave-flash swfAddtype


 به فایل اعلان میکند که باید نام فایلی جدید اعلان شود.

میدانید که هر فایلی که از سرور سایت شما بارگذاری میشود در پهنای باند شما موثر است حال فرض کنید شما فایلی مثلا عکسی یا موسیقی برای دانلود در سایت گذاشته اید ! خوب بالطبع شما با استفاده از فرمول و محاسباتی که در ذهن خود انجام داده اید و نسبت به تعداد کاربرانتان سنجیده اید که با پهنای باندتان مطابقت داشته باشد اما کافیست سایت‌های دیگری از فایل شما مثلا یک عکس شما استفاده کنند و عکس شما را در سایت خود قرار دهند و ادرس عکس ادرس همان عکسی باشد که در سایت شما قرار دارد بنابراین از پهنای باند شما برای بار گذاری عکس استفاده میشود لذا انروزی که پهنای باند شما از حد خود میگذرد شما باید هزینه کنید که باز هم پهنای باند بخرید در صورتی که میتوانید با استفاده از این فایل از انجام چنین کاری ممانعت کنید !منتهی قبلش باید توجه داشته باشید که ایا هاست سرور شما از mod_rewrite پشتیبانی میکند یا خیر ؟!

اگر نمیکند این گزینه برای شما فایده ای نخواهد داشت و نمیتوانید با این کار مبادرت ورزید .

به فولدری که ان فایل یا مجموعه عکس‌های شما قرار دارد بروید و در فایل .htaccess ان دایرکتوری خطوط زیر را اضافه کنید
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]


به جای mydomain.com نام دامنه خودتان را بنویسید مثلا parsx.com دستور فوق باعث میشود فایل‌های با پسوند gif jpg نتوانند در سایت‌های دیگر نمایش داده شوند اما شما میتوانید کار دیگری نیز بکنید مثلا بگذارید دیگران از عکس‌های شما استفاده کنند و سپس طی یک حرکت ناجوانمردانه فایل htaccess را گونه ای تعویض کنید که تمامی عکس‌ها و فایل‌ها با عکس دیگری نمایش داده شوند مثلا عکسی بگذارید که ادرس سایت خودتان را بگذارید . مثلا freeservers چنین کاری کرده است . اگر به عکس سایت‌هایش لینک دهید نام سایت خودش نمایش داده میشود .
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/badimage.gif [R,L]


به جای mydomain نام دامنه خودتان و ادرس عکس خودتان رابه جای ادرس فوق بگذارید .


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


در هنگام استفاده از فایل .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
موافقین ۲ مخالفین ۰ ۹۲/۰۸/۱۹
مرتضی

htaccess

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی