فایل htaccess و کاربرد های مهم آن
فایل htaccess ، یک فایل پیکربندی وب سرور آپاچی است که میتواند دسترسی به سایت یا نحوه عملکرد آن را کنترل کند. این فایل می تواند تنظیمات پیش فرض سرور آپاچی را تغییر می دهد. یک فایل htaccess به راحتی می تواند با ویرایشگر text / HTML ایجاد شود و سپس از طریق FTP آپلود شود. اطمینان حاصل کنید که این فایل را در دایرکتوری که میخواهید آن را کنترل کنید ایجاد یا آپلود شده باشد. اگر از یک فایل htaccess برای کنترل کل سایت استفاده می کنید، باید فایل htaccess را در پوشه عمومی خود آپلود کنید.
فایل htaccess یک فایل مخفی است. علامت “.” در ابتدای فایل htaccess آن را به یک فایل مخفی برای اهداف امنیتی تبدیل می کند. بنابراین اگر آن را از طریق FTP آپلود کنید، در لیست فهرست برنامه FTP شما نمایش داده نخواهد شد؛ مگر اینکه FTP شما ویژگی ای داشته باشد که به شما این امکان را می دهد که فایل های پنهان را مشاهده کنید (اکثر برنامه های FTP دارای این گزینه هستند). اگر شما نیاز به ایجاد تغییرات در فایل htaccess دارید، فقط یک نسخه جدید را آپلود کنید و فایل موجود را بازنویسی کنید.
نحوه ایجاد فایل htaccess
برای ایجاد فایل htaccess در ویندوز کافی است با استفاده از Notepad فایل را با نام htaccess ذخیره کنید. دقت کنید بعد از ذخیره فایل، با استفاده از سرویس گیرنده FTP دلخواه می توانید فایل را در هاست یا سرور خود ذخیره کنید. فایل htaccess باید در پوشه ای قرار گیرد که سایت شما در آن قرار دارد، معمولا این پوشه public_html است.
ایجاد فایل htaccess در هاست
به اکانت cPanel خود وارد شوید. روی آیکون File Manager که در قسمت Files قرار دارد کلیک کنید.
از پنجره باز شده در فایل منو گزینه “Choose Hidden Files (dotfiles)” را انتخاب کنید. اگر این پنجره را نمی بینید، باید روی لینک “reset all interface settings” در پایین صفحه cPanel کلیک کنید. از پنجره File Manager پوشه ای که می خواهید باز کنید را انتخاب کنید، اغلب این پوشه در مسیر “Web Root (public_html / www)” است. توجه کنید اگر شما در حال مدیریت فایل هستید، می توانید (& showhidden = 1) را در انتهای URL اضافه کنید. برای ایجاد یک فایل جدید و روی آیکون New File کلیک کنید و نام آن را .htaccess قرار دهید.
کاربرد های فایل htaccess
فایل htaccess به عناوین مختلفی برای مدیریت و کنترل عملکرد وب سایت شما مورد استفاده قرار می گیرد. در اینجا سعی کرده ایم چند مورد از مهمترین آن ها را به شما معرفی کنیم.
– جایگزینی برای فایل Index
شما همیشه نمی توانید از index.htm یا index.html به عنوان فایل شاخص خود برای یک دایرکتوری استفاده کنید، مثلا اگر از فایل های PHP در سایت خود استفاده می کنید، ممکن است index.php به عنوان فایل index برای دایرکتوری باشد. هر چند فایل های index را محدود نمی کنید. با استفاده از .htaccess شما می توانید هر فایل با هر پسوندی را به عنوان فایل index خود تنظیم کنید.
– صفحات خطای سفارشی
شما می توانید صفحات خطای شخصی (Error Pages) خود را (به عنوان مثال هنگامی که یک فایل یافت نشد) به جای صفحات خطای Bluehost ، به صورت سفارشی ایجاد کنید. این کار باعث می شود که سایت شما بسیار حرفه ای تر باشد.
ErrorDocument errornumber /file.html |
به عنوان مثال اگر فایل nonfound.html را در دایرکتوری روت سایت خود دارید و می خواهید از آن برای یک خطای 404 استفاده کنید:
ErrorDocument 404 /notfound.html |
– عدم نمایش Directory Index
اگر کسی نام دایرکتوری سایت را در مرورگر خود وارد کند، لیست کامل تمام فایلهای آن دایرکتوری نمایش داده خواهد شد. این می تواند یک خطر امنیتی برای سایت شما باشد.
برای جلوگیری از این موضوع (بدون ایجاد تعداد زیادی از فایل های جدید ‘Index’، شما می توانید یک فرمان را در فایل .htaccess خود وارد کنید تا فهرست دایرکتوری نمایش داده نشود:
# disable directory browsing Options –Indexes |
– Deny / Allow کردن برخی از آدرس های IP
فایل htaccess به شما این امکان را می دهد فقط افرادی با آدرس های خاص IP به سایت شما دسترسی داشته باشند (به عنوان مثال اجازه دادن به افرادی که از یک شبکه خاص برای دسترسی به یک دایرکتوری خاص استفاده می کنند) یا ممکن است بخواهید برخی از آدرس های IP را از مشاهده سایت ممنوع کنید. البته برای این کار شما باید IP های مورد نظر را شناسایی کنید. لطفا توجه داشته باشید که اکثر ISP ها از آدرس IP های پویا استفاده می کنند، بنابراین این همیشه بهترین راه برای محدود کردن دسترسی نیست.
– تغییر مسیر (Redirection) از یک فایل خاص به یک فایل جدید
برای مثال :
Redirect /redirect_from.html http://www.site.com/folder/redirect_to.html |
در مثال بالا یک فایل در دایرکتوری روت به نام redirect_example.html به (http://www.site.com/folder/redirect_example.html) ریدایرکت می شود.
– تغییر مسیر WildCard از یک پوشه به یک پوشه جدید
برای مثال شما می خواهید از یک آدرس جدید برای وبسایت قبلی خود استفاده کنید در این صورت کافی است دستور زیر را در فایل htaccess وارد کنید:
Redirect /redirect_from http://www.newsite.com/redirect_to |
با انجام این دستور هر گونه درخواست به سایت قبلی شما داده شود، به سایت جدید هدایت خواهد شد. برای مثال اگر کسی به مسیر زیر وارد شود:
http://www.example.com/redirect_from/images/image.gif |
به سایت جدید منتقل خواهد شد:
http://www.newsite.com/redirect_to/images/image.gif |
– هدایت (URL Rewriting) با Joomla
برای فعال کردن URL Rewriting در جوملا، شما باید کد زیر را در فایل .htaccess خود کپی کنید و آن را وارد کنید.
# For security reasons, Option followsymlinks cannot be overridden. #Options +FollowSymLinks Options +SymLinksIfOwnerMatch |
– حفاظت از رمز عبور
یکی از مهمترین موارد استفاده از .htaccess توانایی محافظت از دایرکتوری ها در وب سایت هاست. اضافه کردن حفاظت از رمز عبور به یک پوشه با استفاده از htaccess در دو مرحله انجام می شود. قسمت اول اضافه کردن خطوط مناسب به فایل htaccess شما در پوشه ای است که می خواهید محافظت شود. همه چیز در این پوشه محافظت شده است:
AuthName “Section Name” AuthType Basic AuthUserFile /home/username/.htpasswds Require valid–user |
چند بخش از این دستور را باید برای سایت خود تغییر دهید. شما باید ” Section Name ” را با نام بخشی از سایت که قصد محافظت از آن را دارید عوض کنید، به عنوان مثال ” Members Area “.
/home/username/.htpasswds باید تغییر داده شود تا مسیر را به فایل .htpasswds منعکس کند.
– فایل htpasswds
محافظت از رمز عبور در یک دایرکتوری، نسبت به هر یک از دیگر توابع .htaccess کمی سخت تر است، زیرا شما باید یک پرونده جدا برای همه نام های کاربری و رمزهای عبور که مجاز به دسترسی به سایت هستند ایجاد کنید. این ها باید در یک فایل قرار بگیرند که (به طور پیش فرض) باید htpasswd. نامیده شود. این فایل می تواند در هر جایی از وب سایت شما (به عنوان کلمه عبور رمزگذاری شده) قرار داده شود، اما بهتر است آن را در خارج از ریشه وب (در دایرکتوری خانگی خود) ذخیره کنید به طوری که دسترسی به آن از وب غیر ممکن است.
وارد کردن نام کاربری و رمز عبور
پس از ایجاد فایل .htpasswd (شما می توانید این کار را در یک ویرایشگر متن استاندارد انجام دهید) باید نام کاربری و کلمه عبور را برای دسترسی به سایت وارد کنید. آنها باید به صورت زیر وارد شوند:
username:password |
تعدادی راهکار برای افزایش سرعت در این کار وجود دارد. یک سرویس نام کاربری / رمز عبور خوب در سایت KxS وجود دارد که به شما اجازه می دهد تا نام کاربری و رمز عبور را وارد کنید و آن را در فرمت صحیح ایجاد کنید.
– دسترسی به سایت
هنگامی که شما سعی می کنید به یک سایت دسترسی داشته باشید که با استفاده از .htaccess محافظت می شود، مرورگر شما باکس ورود نام کاربری / رمز عبور را نمایش می دهد. همچنین شما می توانید نام کاربری و رمز عبور (رمزگذاری نشده) را در نشانی اینترنتی به صورت زیر ارسال کنید:
http://username:[email protected]/directory/ |