Rewrite Pattern에 정규식을 사용할 수 있다. 다음은 많이 사용되는 정규식 문법이다.
. : 다수의 한 문자
? : 0개 이상의 한 문자
* : 0개 이상의 문자 또는 문자열
+ : 1개 이상의 문자 또는 문자열
(chars) : 문자 또는 문자열을 그룹화
^ : 문자열의 첫문자(열)을 지정
$ : 문자열의 끝문자(열)을 지정
\ : 정규표현식에서 특별한 의미로 사용되는 문자의 특수기능을 제거
{n} : n번 반복
{n,} : n번 이상 반복
{n,m} : n번 이상 m번 이하 반복
[chars] : 문자들의 범위 또는 표현할 수 있는 문자들을 설정
Rewrite Subrutine 지시자
L : 뒷 구문 여부를 무시, 해당 줄에서 종료
N : 새로운 Rule 시작
R : Redirection. 뒷 주소로 넘긴다
NC : 대소문자 구별 X
OR : (조건에서) 또는
QSA : Cond의 내용을 지난 결과에 덧붙인다
NE : Out 될 값에 특수문자가 Hex로 포함되어 있는 경우
HTTP를 사용하지 않은 경우 동일 URL의 HTTP로 리디렉션
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URL} [R=301,L]
-> 모든 문자열을 받아들여 그룹화하고 rewrite
www가 포함된 케이스
RewriteCond %{HTTP_HOST} ^www\. [NC]
-> 문자열의 처음부분에 www를 가지고 있다면 (\으로 .의 특수기능 제거, NC로 대소문자 구별x)
www가 포함되지 않은 케이스
RewriteCond %{HTTP_HOST} !^www\. [NC]
-> 문자열의 처음부분에 www를 가지고 있지 않다면 (위와동일)
'main > Server' 카테고리의 다른 글
[Apache] 유저 생성, 정보 확인, sudo 권한주기, 비밀번호 pass 하기 (0) | 2022.02.09 |
---|---|
[CentOS 7] let's encrypt 인증서 확인하기 / 갱신하기 (crontab) (0) | 2022.02.07 |
[CentOS 7] Apache Rewrite로 http -> https, non-www -> www로 주소 Redirect 시키기 (0) | 2022.02.05 |
[CentOS 7] https, SSL인증서 적용 (0) | 2022.02.03 |
[CentOS 7] Apache SSL 적용 중 에러 해결 과정 (0) | 2022.02.03 |