معمولا سوال اینجاست ! چطور می توان نصب یا فعال بودن مد rewrite را چک کرد. در ابتدا چک میکنید
که آیا این این مد نصب شده در مرحله دوم برسی میکنی که ایا این مد در اپاچی لود شده است و در
مرحله سوم تنظیم بودن فایل کانفیگ اپاچی را برای استفاده از فایل htaccess از دایرکتوری برسی میکنید.
برای شروع دستور زیر را وارد کنید :
خروجی این دستور بصورت زیر است :
Server built: Nov 15 2012 15:52:50
Server’s Module Magic Number: 20051115:24
Server loaded: APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with….
-D APACHE_MPM_DIR=”server/mpm/prefork”
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=”/etc/httpd”
-D SUEXEC_BIN=”/usr/sbin/suexec”
-D DEFAULT_PIDLOG=”run/httpd.pid”
-D DEFAULT_SCOREBOARD=”logs/apache_runtime_status”
-D DEFAULT_LOCKFILE=”logs/accept.lock”
-D DEFAULT_ERRORLOG=”logs/error_log”
-D AP_TYPES_CONFIG_FILE=”conf/mime.types”
-D SERVER_CONFIG_FILE=”conf/httpd.conf”
دو خطی که در متن بالا مورد نظر ماست ترکیب ان مربوط به ادرس فایل کانفیگ اپاچی است :
و
که میشود :
مد های اپاچی نیز در ادرس دایرکتوری زیر قرار دارد :
خب ! در قدم اول چک میکنیم مد rewrite نصب شده است یا خیر :
خروجی این دستور بصورت زیر است :
mod_rewrite.so
این خروجی به این معناست که مد مورد نظر ما نصب شده است ( معمولا این مد همراه اپاچی نصب میشود ) در غیر این
صورت باید به همراه اپاچی نصب و کامپایل شود.
در این مرحله چک میکنیم که ایا مد rewrite در فایل کانفیگ اپاچی لود شده یا خیر :
در صورتی که خروجی بصورت زیر بود :
LoadModule rewrite_module modules/mod_rewrite.so
این بدین معناست که مد ما در فایل کانفیگ اپاچی لود شده اما در صورتی که در ابتدای خروجی علامت # را مشاهده کردید:
فایل کانفیگ اپاچی را با استفاده از ادیتور متنی باز کرده و علامت # را از جلوی این بردارید.
(ادرس فایل کانفیگ در ابتدا توضیح داده شده)
حالا از نصب و لود شدن این مد مطمئن شدیم. مرحله بعدی تنظیم دایرکتوری برای استفاده فایل htaccess از
مد rewrite است. برای این منظور در ابتدا وضعیت کانفیگ این مد را در فایل کانفیگ چک میکنیم.
برای این منظور دستور زیر را وارد میکنیم :
خروجی بصورت زیر است :
AllowOverride None
AllowOverride None
در این مرحله فایل کانفیگ اپاچی را باز کنید و خطی که AllowOverride را در ان مشاهده میکنید None را پاک کرده
و به جای ان All را اضافه نمایید مانند زیر :
AllowOverride None
<Directory “/var/www/html”>
Options Indexes SymLinksIfOwnerMatch
AllowOverride None
Order allow,deny
Allow from all
را به شکل زیر تغییر دهید :
AllowOverride All
<Directory “/var/www/html”>
Options Indexes SymLinksIfOwnerMatch
AllowOverride All
Order allow,deny
Allow from all
ممکن است تعداد این بلوک ها در فایل کانفیگ اپاچی شما ۱ عدد یا ۴ عدد باشد شما هر بلوکی که
میخواهید در ان دایرکتوری مد rewrite فعال باشد را AllowOverride All کنید.
میتوانید با کپی و پیست کردن بلاک و تعویض ادرس دایرکتوری مورد نظر خود نیز تغیرات مورد نظرتان را اعمال کنید.
خب شما با موفقیت مد rewrite را فعال کردید. حالا با ریست کردن اپاچی از این مد استفاده کنید.