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

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

2,243  

 

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';

?>

 

 

 

 


분류 제목
코딩 야학 코딩야학 2회 & 생활코딩 라이브 17년 6월 5일
코딩 야학 코딩야학 1회 & 생활코딩 라이브 17년 6월 2일
JS-생코 JS 104강 - Node의 종류 API (3/3) : 재귀함수 2
JS-생코 JS 103강 - Node의 종류 API (2/3) : 재귀함수 1
JS-생코 JS 102강 - Node의 종류 API (1/3) : nodeType, nodeName
JS-생코 JS 101강 - 참조(3/3) : 함수와 참조
JS-생코 JS 100강 - 참조 (2/3) : 참조
JS-생코 JS 99강 - 참조 (1/3) : 복제란?
JS-생코 JS 98강 - 데이터 타입 (2/2) : 레퍼 객체
JS-생코 JS 97강 - 데이터 타입 (1/2) : 원시 데이터 타입과 객체
JS-생코 JS 96강 - Object (4/4) : Object확장의 위험
JS-생코 JS 95강 - Object (3/4) : Object 확장
JS-생코 JS 94강 - Object (2/4) : Object API 사용법
JS-생코 JS 93강 - Object (1/4) : Object란?
JS-생코 JS 92강 - 표준 내장 객체의 확장 (3/3) : 배열의 확장 2
JS-생코 JS 91강 - 표준 내장 객체의 확장 (2/3) : 배열의 확장 1
JS-생코 JS 90강 - 표준 내장 객체의 확장 (1/3) : 표준 내장 객체란?
JS-생코 JS 89강 - prototype (2/2) : prototype chain
JS-생코 JS 88강 - prototype (1/2) : prototype이란?
JS-생코 JS 87강 - 상속 (3/3) : 기능의 추가
22/35
목록
찾아주셔서 감사합니다. Since 2012