ThinkPhp의 강력한 라우팅 시스템을 사용하면 웹 사이트의 검색 엔진 순위 및 사용자 경험을 향상시키는 깨끗하고 SEO 친화적 인 URL을 만들 수 있습니다. 기본값에 의존하는 대신 프레임 워크 규칙 (예 : index.php?c=controller&a=action
)에 의해 생성되는 종종 혼란스러운 URL을 사용하면 특정 컨트롤러 및 작업에 매핑되는 사용자 정의 경로를 정의 할 수 있습니다. 이는 주로 route.php
구성 파일 및 Route
클래스를 통해 달성됩니다.
SEO 친화적 인 URL을 만드는 핵심은 의미있는 키워드와 명확하고 계층 적 구조를 사용하는 경로를 정의하는 데 있습니다. 예를 들어, /index.php?c=product&a=show&id=123
대신 /products/123/my-amazing-product
있을 수 있습니다. 이것은 route.php
파일 내에서 경로를 정의하여 수행됩니다. 일반 표현식을 사용하여 들어오는 URL과 일치하는 패턴을 정의하고 컨트롤러 동작에 매핑합니다. 간단한 예는 다음과 같습니다.
<code class="php">// route.php return [ 'rules' => [ 'products/:id/:name' => ['module' => 'product', 'controller' => 'index', 'action' => 'show'], ], ];</code>
이 경로는 Pattern /products/:id/:name
일치하는 모든 URL이 product
모듈 내에서 index
컨트롤러의 show
동작으로 연결되어야 함을 지정합니다. /:id
및 /:name
경로 매개 변수이며 URL에서 동적으로 추출되어 컨트롤러 동작으로 전달됩니다. 이를 통해 깨끗한 URL 구조를 유지하면서 동적 컨텐츠가 가능합니다. 그에 따라 모듈과 컨트롤러를 정의해야합니다.
ThinkPhp의 SEO 라우팅을 완전히 활용하려면 다음과 같은 모범 사례를 따르십시오.
ThinkPhp의 라우팅 시스템은 동적 URL 세그먼트를 처리하는 데 탁월하며 컨텐츠가 풍부한 웹 사이트를위한 SEO 친화적 인 URL을 작성하는 데 중요합니다. 첫 번째 예제에서 볼 수 있듯이 /:id
및 /:name
사용하면 URL의 가변 부분을 캡처 할 수 있습니다. 그런 다음이 세그먼트는 자동으로 컨트롤러 동작 방법에 매개 변수로 전달됩니다.
예를 들어, 사용자 /products/123/my-amazing-product
에 액세스하면 id
매개 변수가 123
이고 name
매개 변수는 show
액션 내에서 my-amazing-product
입니다. 이 동적 동작을 사용하면 수백 개의 정적 경로를 만들지 않고 각 제품에 대해 고유 한 URL을 생성 할 수 있습니다.
보다 정교한 패턴 매칭을 위해 경로 정의 내에서 정규 표현식을 사용할 수도 있습니다. 이를 통해 동적 세그먼트의 값에 대한 제약을 시행하여 데이터 무결성을 보장하고 예기치 않은 동작을 방지 할 수 있습니다. 예를 들어 id
숫자 값으로만 제한 할 수 있습니다.
ThinkPhp의 라우팅 시스템은 매우 유연하며 특정 페이지 또는 컨트롤러에 대해 사용자 정의 Seo-Opmentized URL을 생성 할 수 있습니다. 표준 /:id/:name
패턴에만 국한되지 않습니다. 특정 요구에 맞는 복잡한 경로를 만들 수 있습니다.
예를 들어, 블로그 섹션이있는 경우 /blog/2024/03/my-blog-post-title
같은 URL을 원할 수 있습니다. 다음과 같은 경로를 정의 할 수 있습니다.
<code class="php">'blog/:year/:month/:title' => ['module' => 'blog', 'controller' => 'post', 'action' => 'view'],</code>
이 패턴을 따르는 URL을 블로그 게시물보기 조치에 매핑합니다. year
, month
및 title
컨트롤러의 매개 변수로 전달됩니다.
경로 제약 조건을 사용하여 올바른 형식의 URL을 보장 할 수도 있습니다.
<code class="php">'blog/:year/:month/:title' => ['module' => 'blog', 'controller' => 'post', 'action' => 'view', 'regexp' => ['year' => '\d{4}', 'month' => '\d{2}', 'title' => '[a-zA-Z0-9-] ']],</code>
이는 year
4 자리 숫자, month
2 자리 숫자이며 title
영숫자 및 하이픈 만 포함되도록 정규 표현 제약 조건을 추가합니다. 이 수준의 사용자 정의를 통해 웹 사이트의 컨텐츠 및 구성을 반영하는 SEO 친화적이고 구조화 된 URL을 생성 할 수 있습니다.
위 내용은 ThinkPhp의 URL 라우팅을 사용하여 SEO 친화적 인 URL을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!