• 회원가입
  • 로그인
  • 구글아이디로 로그인

[서버] 서버 - URL RewriteRule (= 라라이트룰 = URL주소치환 = URL주소변경)

2,299  

 

1.

확장자 떼기

현재: https://homzzang.com/test.php

목표: https://homzzang.com/test

수정: https://homzzang.com/.htaccess

 

https://homzzang.com/test

 

RewriteEngine On

RewriteRule ^test?$ test.php

 


 

https://homzzang.com/dk

 

RewriteEngine On

RewriteRule ^dk?$ test.php

 


 

https://homzzang.com/dk.xml

 

RewriteEngine On

RewriteRule ^dk.xml?$ test.php

 

 

2.

쿼리단축 (1개)

현재: https://homzzang.com/user.php?id=1

목표: https://homzzang.com/user/1

수정: https://homzzang.com/.htacces

 

https://homzzang.com/user/1

 

RewriteEngine On

RewriteRule ^test?$ test.php

RewriteRule ^user/([0-9]+) user.php?id=$1 

 


 

https://homzzang.com/us/1

 

RewriteEngine On

RewriteRule ^test?$ test.php

RewriteRule ^us/([0-9]+) user.php?id=$1 

 



[파일소스]

https://homzzang.com/test.php

 

<?php

$i = 1;

while($i<=10){

    echo "<a href='user.php?id=$i'>User ".$i."</a><br>";

    $i++;

}

include 'style.css';

?>

 

cf. 참고

아래 소스 경우엔, user.php로 갔다가 다시 test.php로 바로 되돌아 옴.

echo "<a href='user/$i'>User ".$i."</a><br>";

 

 

[파일소스]

https://homzzang.com/user.php

 

<?php

if(!isset($_GET['id'])) {

    header('location: test.php');

}

else if(isset($_GET['id'])) {

    echo "User ID : ".$_GET['id']."<br>";

}

include 'style.css';

?>

 

 

 

3.

쿼리단축 (2개)

현재: https://homzzang.com/user.php?id=1&uid=2

목표: https://homzzang.com/user/1/2

수정: https://homzzang.com/.htacces

 

https://homzzang.com/user/1/2

 

RewriteEngine On

RewriteRule ^test?$ test.php

RewriteRule ^user/([[0-9a-zA-Z]+)/([0-9a-zA-Z]+) user.php?id=$1&uid=$2

 

 

 

[파일소스]

https://homzzang.com/test.php

 

<?php

$i = 1;

while($i<=10){

    $j = 99;

    echo "<a href='user.php?id=$i&uid=$j'>User ".$i."</a><br>";

    $i++;

}

include 'style.css';

?>

 

cf. 참고

아래 소스 경우엔, user.php로 갔다가 다시 test.php로 바로 되돌아 옴.

echo "<a href='user/$i/$j'>User ".$i."</a><br>";

 

 

[파일소스]

https://homzzang.com/user.php

 

<?php

if(!isset($_GET['id'])) {

    header('location: test.php');

}

else if(isset($_GET['id']) && isset($_GET['uid'])) {

    echo "User ID : ".$_GET['id']."<br>";
    echo "My ID : ".$_GET['uid'];

}

include 'style.css';

?>

 

 

 

 


분류 제목
JS-생코 JS 66강 - 클로저 (closure) 2/4 : 클로저란?
JS-생코 JS 65강 - 클로저 (closure) 1/4 : 외부함수와 내부함수
JS-생코 JS 64강 - 값으로서 함수와 콜백 (4/4) : 비동기 콜백
JS-생코 JS 63강 - 값으로서 함수와 콜백 (3/4) : 콜백
JS-생코 JS 62강 - 값으로서 함수와 콜백 (2/4) : 함수의 용도 2
JS-생코 JS 61강 - 값으로서 함수와 콜백 (1/4) : 함수의 용도 1
JS-생코 JS 60강 - 유효범위 (5/5) : 정적 유효 범위
JS-생코 JS 59강 - 유효범위 (4/5) - 유효범위의 대상
JS-생코 JS 58강 - 유효범위 (3/5) : 전역변수를 사용하는 법
JS-생코 JS 57강 - 유효범위 (2/5) : 유효범위의 효용
JS-생코 JS 56강 - 유효범위 (1/5) : 전역변수와 지역변수
regex JS 55강 - 정규표현식 (7/7) : 치환
regex JS 54강 - 정규표현식 (6/7) : 캡처
regex JS 53강 - 정규표현식 (5/7) : 옵션
regex JS 52강 - 정규표현식 (4/7) : String 객체의 정규 표현식
regex JS 51강 - 정규표현식 (3/7) : RegExp 객체의 정규 표현식
regex JS 50강 - 정규표현식 (2/7) : 패턴만들기
regex JS 49강 - 정규 표현식 (1/7) : 오리엔테이션
JS-생코 JS 48강 - UI, API 그리고 문서 (2/2) : 문서보는법
JS-생코 JS 47강 - UI와 API
24/35
목록
찾아주셔서 감사합니다. Since 2012