| 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 در مورد شماره پيغام خطاها هم كمي بگويم : Username:password حواستان باشد كه هر كدام در يك خط باشند و همچنين اشتباها فضاي space در اخر خط ها وارد نكنيد . در ضمن براي نام هاي كاربري كه مشكلي پيش نمي ايد اما براي كلمه هاي عبور براي افزايش امنيت بايد از نرم افزارهايي كه انها را تبديل ميكنند استفاده كنيد . كه بعدا كمي در اين مورد توضيح خواهم داد . AuthUserFile /home/pathto/.htpasswd دستورات فوق باعث ميشوند كه در صورت نادرستي و عدم تطابق كلمه عبور با انچه كه در فايل مربوطه ثبت شده از ورود كاربر جلوگيري كند . بنابراين اگر كاربري خواست وارد دايركتوري شود كه بدينوسيله محافظت ميشد يك منوي پاپ آپ ظاهر ميشود كه نام كاربري و رمز عبور را ميطلبد . <files "filename.cgi"> براي محافظت از خود فايل .htaccess نيز ميتوانيد خط زير را وارد كنيد : <files ".htaccess"> اگر هاست شما از اين فايل پشتيباني ميكند اما از SSI پشتيباني نميكند كافيست خطوط زير را وارد كنيد تا از SSI هم پشتيباني شود . AddType text/html .shtml خط اول بيان ميكند كه كليه فايل ها با پسوند shtml دارا صحت هستند خط دوم يك handler اضافه ميكند خط سوم باعث ميشود سرور اين فايل ها را اجرا كند . AddType text/html .shtml .html . htm اين خطوط باعث ميشوند كه كليه فايل ها با پسوند html نيز به سرور براي اجرا شدن منتقل شوند تا اگر كدي كه براي SSI باشد داشته باشد را اجرا كند و سپس صفحه شروع به بارگذاري كند . Order allow,deny به جاي ipaddress ميتوانيد ادرس ايپي را بنويسيد مثل : 172.16.204.100 DirectoryIndex filename.html حتما ديده ايد كه اگر فايل index.html در دايركتوري نبود سرور فايل ديگري مثلا index.php را اجرا ميكند روش به اينصورت است كه در دستور فوق بعد از filename.html با يك فضاي خالي نام هاي ديگر را وارد ميكنيد . بنابراين سرور در دايركتوري ويژه ابتدا به دنبال فايل اولي و سپي به دنبال فايل دومي و به همين ترتيب جستجو ميكند . اگر هم هيچ يك از فايل ها پيدا نشد پيغام خطاي 404 ظاهر ميشود . Redirect /OldDir/OldFile.html http://www.domainname.com/newdir بنابراين دستور به شرح زير است Redirect oldlocation newlocation منتهي يادتان باشد كه newlocation بايد نام ادرس كامل سايت باشد . IndexIgnore * اما عكس اين عمل نيز ميتواند اتفاق بيفتد يعني به صورت پيشفرض در سرور تنظيم شده است كه فايلها ليست نشودند اما شما ميتوانيد اين گزينه را با خط زير غيزفعال كنيد : Options +Indexes اگر هم ميخواهيد فايلها ليست شوند اما گروه خاصي از انها مثلا عكس ها ليست نشوند به صورت زير عمل كنيد : IndexIgnore *.gif *.jpg بعضي سرور ها بعضي از فايلها را نميشناسند با استفاده از اين فايل ميتوانيد خط زير را وارد كنيد تا انها را بشناسد مثلا براي فايل هاي فلش ميتوانيد دستور زير را وارد كنيد AddType application/x-shockwave-flash swf Addtype به فايل اعلان ميكند كه بايد نام فايلي جديد اعلان شود RewriteEngine on به جاي mydomain.com نام دامنه خودتان را بنويسيد مثلا parsx.com دستور فوق باعث ميشود فايلهاي با پسوند gif jpg نتوانند در سايت هاي ديگر نمايش داده شوند اما شما ميتوانيد كار ديگري نيز بكنيد مثلا بگذاريد ديگران از عكس هاي شما استفاده كنند و سپس طي يك حركت ناجوانمردانه فايل htaccess را گونه اي تعويض كنيد كه تمامي عكس ها و فايل ها با عكس ديگري نمايش داده شوند مثلا عكسي بگذاريد كه ادرس سايت خودتان را بگذاريد . مثلا freeservers چنين كاري كرده است . اگر به عكس سايت هايش لينك دهيد نام سايت خودش نمايش داده ميشود . RewriteEngine on به جاي mydomain نام دامنه خودتان و ادرس عكس خودتان رابه جاي ادرس فوق بگذاريد . منبع:iranmodern.com
|











