فایلهای .htaccess این امکان را به شما میدهند که دستورات Apache را برای هر دایرکتوری بهطور مجزا اعمال کنید. وبسرور Apache در اکثر توزیعهای لینوکس بهطور پیشفرض دستورات موجود در فایلهای .htaccess را نادیده میگیرد. بنابراین، اگر نیاز دارید که دستورات Apache را از طریق فایلهای .htaccess اجرا کنید، باید این قابلیت را در فایل پیکربندی اصلی سرور فعال کنید.
از نظر امنیتی، اگر به فایل پیکربندی اصلی سرور دسترسی دارید، بهتر است از استفاده از فایلهای .htaccess خودداری کنید. تمامی دستوراتی که میتوانید در فایلهای .htaccess وارد کنید، قابل تنظیم در یک بلوک Directory در فایل پیکربندی اصلی سرور است. با این حال، بسیاری از برنامههای تحت وب مدرن مانند فروشگاههای اینترنتی و سیستمهای مدیریت محتوا (CMS) برای عملکرد صحیح خود به این قابلیت نیاز دارند.
در سیستمعامل CentOS، فایل پیکربندی Apache در مسیر /etc/httpd/conf/httpd.conf قرار دارد. برای ویرایش آن، دستور زیر را وارد کنید:
sudo vi /etc/httpd/conf/httpd.conf
باید خطی را که شامل دستور AllowOverride است پیدا کنید و دقت کنید که تنها نمونه مرتبط با دایرکتوری صحیح را ویرایش کنید. معمولاً این دستور زیر دایرکتوری root قرار دارد، یعنی در بلوک <Directory /> یا <Directory /var/www/html>. این بلوک معمولاً به شکل زیر است:
<Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # Uncomment this directive if you want to see Apache's # default start page (in /apache2-default) when you go to / # RedirectMatch ^/$ /apache2-default/ </Directory>
دستور AllowOverride را از None به All تغییر دهید. همچنین میتوانید این مقدار را برای انواع خاصی از دستورات که میخواهید مجاز کنید، تنظیم کنید. برای اطلاعات بیشتر در مورد انواع دستورات مجاز در یک سرور لینوکس، به وبسایت Apache.org مراجعه کنید.
اگر تمامی انواع دستورات را مجاز کردید، بلوک نهایی <Directory> شما باید به شکل زیر باشد:
<Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all # Uncomment this directive if you want to see Apache's # default start page (in /apache2-default) when you go to / # RedirectMatch ^/$ /apache2-default/ </Directory>
پس از انجام تغییرات، فایل httpd.conf را ذخیره کرده و از ویرایشگر خارج شوید.
برای اعمال تغییرات، باید وبسرور Apache را با دستور زیر راهاندازی مجدد کنید:
sudo service httpd restart
حالا شما قابلیت .htaccess را برای دایرکتوری /var/www/html در وبسرور Apache خود فعال کردهاید. برای تغییراتی که در تنظیمات پیشفرض Apache اعمال کردهاید، اطمینان حاصل کنید که این قابلیت را برای دایرکتوریها به صورت صحیح تنظیم شده است.
مبنع: وبسایت میموک