현재 위치: > 최신 기사 목록> PHP에서 output_add_rewrite_var를 사용하여 rewrite_rules로 친숙한 URL을 생성하십시오.

PHP에서 output_add_rewrite_var를 사용하여 rewrite_rules로 친숙한 URL을 생성하십시오.

gitbox 2025-06-05

PHP 개발에서 사용자 친화적 인 URL (소위 SEO URL 또는 의사 정적 URL)을 생성하는 것이 일반적인 요구 사항입니다. 사용자 경험을 향상시킬뿐만 아니라 검색 엔진 포함에도 도움이됩니다. 대부분의 개발자는 Apache의 mod_rewrite 또는 nginx의 재 작성 기능을 사용하여 구현하기로 선택하지만 PHP 자체는 특정 시나리오에서 쿼리 문자열 기반 시스템을 사용하고 Pseudo-static 효과를 달성 할 때 특정 시나리오에서 작동 할 수있는 output_add_rewrite_var () 와 같은 보조 메커니즘을 제공합니다.

이 기사에서는 사용자 친화적 인 URL 출력을 달성하기 위해 웹 서버의 URL 재 작성 규칙과 함께 output_add_rewrite_var ()를 사용하는 방법을 설명합니다.

output_add_rewrite_var ()

output_add_rewrite_var () 는 PHP가 제공하는 출력 제어 기능으로, ECHO , 인쇄 또는 템플릿을 통해 모든 URL 출력에 지정된 쿼리 매개 변수를 자동으로 추가 할 수 있습니다 ( <a> 태그 및 양식 포함). 이 기능은 종종 세션 ID의 자동 전파에 사용되며 다른 사용자 정의 변수에도 사용될 수 있습니다.

 <?php
output_add_rewrite_var('page', 'home');
?>

위의 코드는 모든 출력 URL 및 양식의 홈을 자동 으로 추가합니다.

다시 쓰기 규칙과 함께 URL을 아름답게하십시오

output_add_rewrite_var () 는 쿼리 문자열 만 추가 할 수 있지만 서버 측 재 작성 함수를 사용 하여이 쿼리 문자열 구조를보다 우아한 경로 형식으로 변환 할 수 있습니다. 예를 들어, put :

 https://gitbox.net/index.php?page=home

변환 :

 https://gitbox.net/home

이는 서버의 재 작성 규칙을 통해 달성됩니다.

아파치 예

 RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1 [L,QSA]

nginx 예제

 location / {
    try_files $uri $uri/ /index.php?page=$uri;
}

PHP 처리 로직

그런 다음 index.php 에서 $ _get [ 'page'] 의 값에 따라 해당 콘텐츠를로드 할 수 있습니다.

 <?php
$page = $_GET['page'] ?? 'home';

switch ($page) {
    case 'home':
        include 'pages/home.php';
        break;
    case 'about':
        include 'pages/about.php';
        break;
    default:
        include 'pages/404.php';
}
?>

이러한 방식으로 https://gitbox.net/about를 방문하면 실제로 index.php? page = about 로 다시 작성되며 PHP 스크립트는 해당 페이지를 인식하고로드 할 수 있습니다.

output_add_rewrite_var ()를 사용하여 링크 매개 변수를 자동으로 추가하십시오.

URL의 쿼리 매개 변수 (예 : 페이징 매개 변수, 언어 매개 변수 등)를 추가로 자동화하려면 다음을 사용할 수 있습니다.

 <?php
output_add_rewrite_var('lang', 'zh');
?>

페이지의 링크가 다음으로 자동 변경됩니다.

 https://gitbox.net/about?lang=zh

재 작성 규칙과 함께 매개 변수를 다시 작성하여 다음을 만들 수 있습니다.

 https://gitbox.net/zh/about

서버 규칙에 언어 인식 계층을 추가하십시오.

요약

현대 프레임 워크 (Laravel 및 Symfony와 같은)는보다 현대적이고 구조화 된 라우팅 솔루션을 제공하지만, 일부 가벼운 또는 맞춤형 개발 프로젝트에서는 PHP Native output_add_rewrite_var () 는 여전히 약간의 가벼운 또는 맞춤형 개발 프로젝트에서 사용자 친화적 인 URL을 생성 할 수있는 방법입니다. 이 방법을 마스터하면 외부 프레임 워크에 전적으로 의존하지 않고 프로젝트의 URL 구조를보다 유연하게 제어 할 수 있습니다.

또한이 접근 방식은 레거시 프로젝트에 특히 유용하며 더 나은 URL 성능을 달성하기 위해 코드 구조를 크게 변경할 필요가 없습니다.