>백엔드 개발 >PHP 튜토리얼 >`.htaccess` 또는 PHP 내장 함수를 사용하여 PHP에서 URL 재작성을 어떻게 구현할 수 있습니까?

`.htaccess` 또는 PHP 내장 함수를 사용하여 PHP에서 URL 재작성을 어떻게 구현할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-20 03:33:09974검색

How Can I Implement URL Rewriting in PHP Using `.htaccess` or PHP's Built-in Functions?

PHP에서 URL 재작성: 친숙한 URL 만들기

소개

URL 재작성은 복잡한 URL을 변환하는 데 사용되는 기술입니다. 잠재적으로 긴 URL을 보다 사용자 친화적이고 읽기 쉬운 형식으로 변환합니다. 이 기사에서는 .htaccess 경로와 PHP 경로라는 두 가지 접근 방식을 사용하여 PHP에서 URL 재작성을 구현하는 방법을 살펴보겠습니다.

mod_rewrite를 사용한 .htaccess 경로

이 방법에는 루트 디렉터리에 .htaccess 파일을 추가하고 mod_rewrite를 사용하도록 Apache 웹 서버를 구성하는 작업이 포함됩니다. RewriteRule의 예는 다음과 같습니다.

RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9]+)$ /picture.php?id=

이 규칙은 웹 서버에 "Some-text-goes-here/" 패턴과 일치하는 모든 URL을 지시합니다. 내부적으로 "picture.php?id="로 다시 작성해야 합니다. 최종 사용자에게 표시되지 않습니다.

PHP 경로

대체 접근 방식은 PHP를 사용하여 URL 재작성을 처리하는 것입니다. 여기에는 .htaccess에서 "FallbackResource"를 설정하는 작업이 포함됩니다.

FallbackResource /index.php

이 구성은 요청된 파일이 존재하지 않는 경우 모든 요청을 index.php 파일로 전달하도록 서버에 지시합니다. index.php에서 고유한 URL 구문 분석 논리를 구현할 수 있습니다.

$path = ltrim($_SERVER['REQUEST_URI'], '/');
$elements = explode('/', $path);
if (empty($elements[0])) {
    ShowHomepage();
} else {
    switch (array_shift($elements)) {
        case 'Some-text-goes-here':
            ShowPicture($elements);
            break;
        case 'more':
            ...
        default:
            header('HTTP/1.1 404 Not Found');
            Show404Error();
    }
}

이 기술을 사용하면 URL 구문 분석의 유연성이 향상되고 데이터베이스 기반 및 조건부 URL에 대한 지원이 가능해집니다.

위 내용은 `.htaccess` 또는 PHP 내장 함수를 사용하여 PHP에서 URL 재작성을 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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