YII의 URL 관리자는 깨끗하고 SEO 친화적 인 URL을 만드는 강력한 도구입니다. YII가 생성 한 기본, 종종 혼란스러운 URL에 의존하는 대신 URL을보다 사용자 친화적이고 검색 엔진에서 최적화 된 것으로 변환하는 사용자 정의 규칙을 정의 할 수 있습니다. 여기에는 응용 프로그램의 구성 파일 (YII 버전에 따라 config/web.php
또는 config/main.php
) 내에서 urlManager
구성 요소를 구성하는 것이 포함됩니다.
SEO 친화적 인 URL 생성의 핵심은 URL 규칙을 사용하는 데 있습니다. 이 규칙은 응용 프로그램의 내부 경로 구조와 사용자에게 표시된 URL 간의 매핑을 정의합니다. 예를 들어, /index.php?r=site/view&id=123
과 같은 URL 대신 /article/123
과 같은 클리너 URL을 만들 수 있습니다.
이를 달성하려면 urlManager
구성 요소의 rules
속성을 구성해야합니다. 이 속성은 규칙의 배열이며 각각 일치하는 패턴과 해당 경로를 정의합니다. 예는 다음과 같습니다.
<code class="php">'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ['class' => 'yii\rest\UrlRule', 'controller' => ['article']], //Example for RESTful APIs '<controller:>/<id:>' => '<controller>/view', // Matches /article/123 and routes to the 'view' action of the 'article' controller. '<controller:>/<action:>' => '<controller>/<action>', // Matches /article/create and routes to the 'create' action. // Add more rules as needed ], ],</action></controller></action:></controller:></controller></id:></controller:></code>
enablePrettyUrl
예쁜 URL (index.php 제거)을 활성화하고 showScriptName
URL에서 스크립트 이름 (index.php)을 숨 깁니다. 규칙 자체는 정규식을 사용하여 URL 세그먼트와 일치합니다. <controller:></controller:>
컨트롤러 이름의 하나 이상의 영숫자 문자와 일치하고 <id:></id:>
ID의 하나 이상의 숫자와 일치합니다.
SEO 친화적 인 URL을 만드는 것이 첫 번째 단계 일뿐입니다. SEO의 URL 관리자 최적화에는 몇 가지 모범 사례가 필요합니다.
/product/123
대신 고려 /product/awesome-widget
고려하십시오.-
)을 사용하여 URL에서 별도의 단어 ( _
). 검색 엔진은 하이픈을 더 잘 이해합니다.rules
업데이트하십시오.urlManager
많은 것을 처리하지만 전용 URL 재 작성 모듈은 추가 성능과 유연성을 제공 할 수 있습니다. 이것은 복잡한 재 작성 시나리오를 다룰 때 특히 관련이 있습니다.SEO에는 효과적으로 URL 매개 변수를 관리하는 것이 중요합니다. 매개 변수가 때때로 필요하지만 가능하면 URL에서의 가시성을 최소화하기 위해 노력해야합니다.
명명 된 매개 변수 사용 : 위치 매개 변수에 의존하는 대신 규칙에 명명 된 매개 변수를 사용하여 더 읽기 쉽고 유지 관리 가능합니다.
<code class="php">'<controller>/<action>/<param1:>/<param2:>' => '<controller>/<action>',</action></controller></param2:></param1:></action></controller></code>
이 규칙을 사용하면 컨트롤러 동작에서 param1
및 param2
에 액세스 할 수 있습니다. 더 복잡한 정규식을 사용하여 매개 변수를 검증 할 수도 있습니다.
쿼리 매개 변수를 드물게 사용하십시오 : 쿼리 매개 변수는 피할 수 없지만 민감한 데이터 나 불필요한 정보를 포함하지 않도록하십시오. 간결하고 관련성을 유지하십시오. 예를 들어, /search?q=widget
바람직합니다. /search?q=widget&sort=relevance&page=2&filter=price
.
사용자 정의 경로 생성 : 복잡한 라우팅 시나리오의 경우 매개 변수 처리의 논리를 캡슐화하는 사용자 정의 경로를 만들 수 있습니다.
YII의 URL 관리자는 URL 리디렉션을 효과적으로 처리 할 수 있으므로 오래된 구식 URL을 새로운 SEO 친화적 인 상대방으로 리디렉션 할 수 있습니다. 이는 검색 엔진 순위를 유지하고 404 오류를 피하는 데 필수적입니다. 이것은 urlManager
구성 요소의 rules
속성을 사용하여 수행됩니다. 다음 패턴을 사용하여 리디렉션 규칙을 정의 할 수 있습니다.
<code class="php">'urlManager' => [ // ... other configurations ... 'rules' => [ // ... other rules ... '<old-url>' => '<new-url>', //Simple redirect ['class' => 'yii\web\UrlRule', 'pattern' => '<old-url>', 'route' => '<new-url>', 'verb' => 'GET'], // More robust redirect with verb specification ], ],</new-url></old-url></new-url></old-url></code>
<old-url></old-url>
이전 URL 패턴으로, <new-url></new-url>
새로운 SEO 친화적 인 URL로 교체하십시오. <old-url></old-url>
패턴의 정규식을 사용하여 오래된 URL의 여러 변형과 일치 할 수 있습니다. 예를 들어, /old-article/(\d )
오래된 기사 URL을 새로운 상대방으로 리디렉션 할 수 있습니다. verb
매개 변수는 리디렉션이 GET 요청에만 작동하도록합니다.
301 (영구) 리디렉션을 사용하여 컨텐츠가 영구적으로 이동했음을 검색 엔진에 신호하십시오. 이를 통해 PageRank를 보존하고 SEO 값을 잃지 않도록 도와줍니다. 사용자 정의 리디렉션 컨트롤러 동작을 만들거나 YII의 전용 리디렉션 확장을 활용하는보다 고급 접근 방식을 통해이를 달성 할 수 있습니다.
위 내용은 YII의 URL 관리자를 사용하여 SEO 친화적 인 URL을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!