Cách kích hoạt Apache mod_rewrite trên Ubuntu/CentOS

Để nội dung cấu hình trong file.htaccess hoạt động được thì cần phải kích hoạt mod_rewrite nếu bạn đang sử dụng Apache. Vậy, cách thực hiện như thế nào, xem ngay bài viết này nhé.

Cách kích hoạt Apache mod_rewrite

Cách kích hoạt Apache mod_rewrite trên Ubuntu/CentOS 1

Chức năng rewrite URL của module mod_rewrite trên dịch vụ Apache được dùng để xử lý các URL request HTTP truy cập.  Thường thì nó sẽ được kích hoạt sẵn trên Apache, vậy trước khi thực hiện các thao tác, bạn nên kiểm tra xem module mod_rewrite đã được kích hoạt hay chưa?

Trên CentOS/RHEL:

Sử dụng lệnh:

# httpd -M | grep -i "rewrite"
rewrite_module (shared)
Syntax OK
Trên Ubuntu/Debian: Sử dụng lệnh:
# apache2ctl -M | grep -i "rewrite"
rewrite_module (shared)
Syntax OK
Nếu bạn thấy output lệnh httpd hoặc apache2ctl, với option ‘-M‘ có dòng ‘rewrite_module‘ có nghĩa là module mod_rewrite đã được Apache nạp lên bộ nhớ hệ thống để sử dụng rồi.

Trên CentOS:

Sử dụng lệnh:

# ll /etc/httpd/modules/ | grep -i "rewrite"
64K -rwxr-xr-x 1 root root 64K Jul 12 20:33 mod_rewrite.so
Tiếp theo ta sẽ tiến hành cấu hình cho dịch vụ Apache load đích danh đường dẫn module mod_rewrite.so. Bằng cách edit file cấu hình chính của Apache qua đường dẫn ‘/etc/httpd/conf/httpd.conf‘ và tìm dòng có nội dung 'LoadModule ….', bạn sẽ thấy các module khác đang được load dựa vào chỉ thị cấu hình là ‘LoadModule‘. Cấu hình Loadmodule:
LoadModule <ten_module> <duong_dan_module>.so
# vi /etc/httpd/conf/httpd.conf

..
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so

LoadModule rewrite_module module
..
Tiếp tục save lại và restart Apache, bạn nhớ kiểm tra nội dung list module giống như trên xem Apache đã load module mod_rewrite chưa?

Kích hoạt mod_rewrite cho file .htacces

Khi mod_rewrite đã được kích hoạt trên Apache, bạn nên tiếp tục kích hoạt chức năng URL rewrite trong các nội dung cấu hình của file .htaccess tại từng thư mục chứa source code vhost. Bởi file .htaccess cho sẽ phép người dùng cấu hình các rule cho phép thay đổi nội dung URL mà không cần phải truy cập cấu hình của server. Dưới đây là cách kích hoạt mod_rewrite trên Apache. Sử dụng lệnh để mở file cấu hình Apache:
nano /etc/httpd/conf/httpd.conf

Chuyển 'AllowOverride' None thành 'AllowOverride All' trong thẻ <Directory “/var/www/html”>. Hoặc bạn sẽ cần thay đổi luôn luôn trong thẻ <Directory />.

Cuối cùng, sử dụng lệnh sau để khởi động lại Apache để chạy cấu hình mới.

service httpd restart

Như vậy là bạn đọc đã biết cách kích hoạt Apache mod_rewrite trên Ubuntu/CentOS rồi đúng không nào? Nếu có bất kỳ thắc mắc gì thì có thể comment bên dưới bài viết để được Blog Kdata hỗ trợ nhé.

Tổng hợp