mod_rewrite 모듈 활성화 확인:
대부분의 경우, AlmaLinux와 같은 RHEL 기반 배포판에서는 mod_rewrite가 기본적으로 활성화되어 있습니다.
# httpd -M | grep rewrite
출력에 rewrite_module (shared)가 나타나면 이미 활성화된 것입니다.
.htaccess 파일 사용 허용:
.htaccess 파일에서 URL 재작성 규칙을 설정할 수 있도록 허용하려면, 다음과 같이 아파치 설정 파일에서 AllowOverride 지시자를 수정합니다
<Directory "/var/www/html">
AllowOverride All
</Directory>
.htaccess 파일 생성:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteEngine On
이 줄은 Apache의 mod_rewrite 엔진을 활성화합니다.
mod_rewrite는 URL을 동적으로 변경할 수 있게 해주는 Apache 모듈입니다.
RewriteCond %{HTTP_HOST} !^www\. [NC]
이는 리다이렉트를 위한 조건(condition)을 설정합니다.
%{HTTP_HOST}는 요청된 호스트 이름을 나타냅니다.
!^www\.는 "www."로 시작하지 않는 호스트 이름을 의미합니다.
[NC]는 대소문자를 구분하지 않음(No Case)을 의미합니다.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
이는 실제 리다이렉트 규칙입니다.
^(.*)$는 URL의 전체 경로를 캡처합니다.
http://www.%{HTTP_HOST}/$1는 새로운 URL을 생성합니다. 여기서 www.가 추가됩니다.
$1은 원래 URL의 경로 부분을 나타냅니다.
[R=301,L]는 플래그입니다:
R=301은 영구 리다이렉트(301 Moved Permanently)를 의미합니다.
L은 이 규칙이 마지막(Last) 규칙임을 나타냅니다.
.htaccess 사용하지 않고 아파치 설정파일 수정
<VirtualHost *:80>
ServerName test.com
DocumentRoot /home/ddf/
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
</VirtualHost>
'인프라' 카테고리의 다른 글
루트 인증서 개인 인증서 개념정리 (0) | 2024.10.25 |
---|---|
service httpd restart 구성내용 (0) | 2023.08.02 |
[보안취약점] 웹서비스 메소드 설정 및 조치 방안 (GET POST PUT PATCH...) (0) | 2023.07.25 |
[가마] 센서 데이터를 java 로 받을때 문제점 빅엔디안/리틀엔디안 (0) | 2023.07.14 |
우분투 ll alias 추가 (0) | 2023.07.07 |