>백엔드 개발 >PHP 튜토리얼 >.htaccess를 사용하여 GET 매개변수로 URL을 다시 작성할 수 있습니까?

.htaccess를 사용하여 GET 매개변수로 URL을 다시 작성할 수 있습니까?

DDD
DDD원래의
2024-11-16 13:35:02881검색

How Can I Rewrite URLs with GET Parameters Using .htaccess?

.htaccess로 GET 변수 다시 작성

많은 웹 애플리케이션은 제공된 예(index.html)와 같이 동적 콘텐츠를 포함하는 URL 구조를 활용합니다. php?페이지=컨트롤러. 사용자 경험을 개선하고 보다 깔끔한 URL 구조를 유지하려면 이러한 URL을 보다 사용자 친화적인 형식으로 다시 작성하는 것이 바람직합니다. 이는 .htaccess 규칙을 사용하여 달성할 수 있습니다.

제공된 .htaccess 규칙은 http://localhost/index.php?page=controller 형식의 URL을 http://localhost/controller/로 효과적으로 다시 작성합니다. 그러나 요구 사항은 GET 매개변수도 지원하여 http://localhost/controller/param/value/param/value와 같은 URL을 생성하는 것입니다.

이를 달성하려면 다음 RewriteRule을 .htaccess 파일:

RewriteRule ^(.*)$ index.php?params= [NC, QSA]

이 규칙은 매개변수를 포함한 전체 URL을 캡처하고 캡처된 데이터를 params GET 변수에 할당합니다. 결과적으로 URL http://localhost/controller/param/value/param/value는 index.php?params=param/value/param/value로 다시 작성됩니다.

PHP 스크립트에서 params GET 변수를 분해하여 개별 매개변수와 해당 값을 추출할 수 있습니다. 예를 들면 다음과 같습니다.

<?php

$params = explode("/", $_GET['params']);
for($i = 0; $i < count($params); $i+=2) {

  echo $params[$i] ." has value: ". $params[$i+1] ."<br />";

}

?>

이 수정을 통해 .htaccess 규칙은 GET 매개변수로 URL을 성공적으로 다시 작성하여 PHP 스크립트가 추가 처리 및 컨트롤러 로직을 위해 이러한 매개변수에 액세스할 수 있도록 합니다.

위 내용은 .htaccess를 사용하여 GET 매개변수로 URL을 다시 작성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.