민달팽이란 무엇입니까?
저는 현재 CodeIgnators 튜토리얼에서 환상적인 문서 작업을 하고 있습니다.하지만 자주 사용되는 용어가 있는데 그것은 "슬렁그"라고 불립니다.저는 그 용어가 무슨 뜻인지 알기 위해 주변을 많이 둘러보았는데 무엇을 위한 것인지, 무엇을 위한 것인지 이해할 수 없습니다.다음은 사용할 때의 예입니다.
이 코드를 사용하여 두 가지 쿼리를 수행할 수 있습니다.당신은 모든 뉴스 기록을 얻을 수도 있고 뉴스 항목을 그것의 슬러그로 얻을 수도 있습니다.
슬러그는 리소스에 액세스할 때 URL의 일부입니다.시스템의 모든 차량을 표시하는 URL(아래와 같은 URL)이 있다고 가정합니다.
http://localhost/cars
시스템에서 특정 차량을 참조하려면 다음 URL을 제공해야 합니다.
http://localhost/cars/audi-a6/
URL이 여전히 매우 논리적이고 SEO 친화적이라는 점에 주목하십시오.민달팽이를 사용하는 것에 관해서는, 그것은 당신의 재량입니다.위의 audi-a6 문자열은 시스템에 있는 차량의 고유 식별자일 수 있습니다. 예를 들어 다음 필드가 있는 관계형 데이터베이스가 있다고 가정해 보겠습니다.
id
car_name
car_brand
car_unique_identifier
드car_unique_identifier
그런 다음 슬러그에 표시되는 값을 저장하는 데 사용됩니다. 위에서 Audi A6 차량으로 지정한 예에서 여기가 Audi-a6 문자열이 있는 곳입니다.
예를 들어 블로그와 같은 기능을 하는 게시물 컨트롤러가 있는 경우에는 다른 방법으로도 사용할 수 있습니다.페이지 제목은 URL로 인코딩된 경우 해당 페이지의 슬래그일 수 있습니다."SEO를 개선하는 최상의 방법"이라는 제목의 기사에 대해 다음 URL을 제공할 수 있습니다.
http://localhosts/posts/best-ways-to-make-seo-better
그러면 당신은 도망갈 것입니다.url_decode()
슬러그에서, 그리고 당신은 제목을 통해 게시물을 찾는 데 사용할 수 있는 서를 더 잘 만드는 가장 좋은 방법을 얻을 수 있습니다.
여기서 멈출 필요는 없습니다. 어떤 것을 나타내기 위해 여러 개의 슬러그를 사용하기로 결정할 수도 있습니다. BBC가 어떻게 하고 있는지 살펴봅시다.저는 오늘부터 무작위로 기사를 썼는데, 그 URL은 다음과 같습니다.
http://www.bbc.co.uk/news/world-africa-24506006
이 문서는 다음과 같은 제목의 기사아프리카 연합, ICC에 지도자에 대한 소송 취하 촉구BBC가 하는 방법은 슬러그 월드의 마지막 부분인 아프리카-24506006을 사용하여 시스템에서 고유한 항목을 식별하는 것입니다.그런 다음 그들은 게시물이 속하는 범주를 나타내기 위해 세계 아프리카를 사용할 가능성이 높습니다(이것은 단지 가정일 뿐이지만, 여전히 교육적인 추측입니다).
마지막으로, 연구 논문에 대한 다음 DB 표를 상상해 보겠습니다.
id
category
title
아래와 같이 작동하는 예가 있을 수 있습니다.
http://localhost/papers
이 URL은 현재 시스템에 있는 모든 연구 논문을 나타냅니다.그러면 다음 슬러그를 통해 물리학에 대한 모든 연구 논문에 액세스할 수 있습니다.
http://localhost/papers/physics
우리의 주요 목표는 물리학이며, 우리의 데이터베이스 선택은 현재 다음과 같습니다.
SELECT *
FROM papers
WHERE LOWER(papers.category) = 'physics'
그런 다음 다음 URL을 노출할 수 있습니다.
http://localhost/papers/physics/gravitation
이제 우리의 민달팽이는 물리학과 중력으로 구성되어 있습니다.배후에서 질문하는 내용은 다음과 같습니다.
SELECT *
FROM papers
WHERE LOWER(papers.category) = 'physics'
AND LOWER(papers.title) = 'gravitation'
이를 통해 시스템에서 항목을 고유하게 식별할 수 있습니다.
그래서 우리는 정보를 걸러내기 위해 슬러그를 반복적으로 사용해 왔습니다.예제에서 슬러그 없이 URL을 실행한 경우:
http://localhost/papers
우리는 이용 가능한 모든 연구 논문을 나열하고 싶었습니다.물리학 슬러그로 URL을 실행했을 때:
http://localhost/papers/physics
우리는 물리학에 관한 모든 연구 논문을 나열하고 싶었기 때문에 결과를 좁혔습니다.마지막으로, 우리가 두 개의 슬러그를 제공했을 때, 우리는 우리 시스템의 엔트리를 고유하게 식별할 수 있었습니다.
http://localhost/papers/physics/gravitation
우리가 이것을 다르게 모델링할 수 있었을까요?물론입니다!시스템 요구 사항에 따라 관계 테이블을 정규화 및 비 정규화할 수 있습니다.퍼멀 링크 시스템을 설치하여 게시물 표를 다음과 같이 만들 수 있었습니다.
id
title
permalink
그러면 다음과 같은 항목이 있을 수 있습니다.
| 20013 | Gravitation | physics-gravitation-breakthrough |
따라서 URL을 노출합니다.
http://localhost/papers/physics-gravitation-breakthrough
위의 예에서 슬러그 물리학-중력-획기적 돌파를 통해 다음을 통해 기둥을 고유하게 식별할 수 있습니다.
SELECT *
FROM papers
WHERE papers.permalink = physics-gravitation-breakthrough
단답형
그것은what-is-a-slug
이 질문의 URL 부분입니다.
"슬렁그"는 완전히 문맥 의존적인 단어이지만 프로그래밍이나 이 질문에 관한 한 "슬렁그"는 URL을 나타냅니다.URL에 모든 문자가 포함될 수는 없습니다.그렇기 때문에 게시물, 페이지, 컨트롤러에 제목을 입력하면 해당 슬래그가 URL로 사용됩니다.자동으로 파생될 수도 있습니다.
따라서 한 줄로 slug는 어떤 이름이든 URL에 친숙한 버전입니다.
다음은 슬러그의 예입니다.
<?php
function create_slug($string){
$slug=preg_replace('/[^A-Za-z0-9-]+/', '-', $string);
return $slug;
}
echo create_slug('does this thing work or not');
//returns 'does-this-thing-work-or-not'
?>
위의 답변은 모두 맞으나 저는 그 질문에 직접 답변하고 싶습니다.Codeigniter 튜토리얼 예제의 Slug는 URL "news"를 참조합니다.데이터베이스에 $slug 또는 slug로 "news"가 없고 브라우저 "index.php/news/view"에서 이 URL을 실행하면 오류 404_page not found가 반환됩니다.저는 위의 답변을 읽기 전까지 이 문제에 부딪혔고, 이 답변은 슬러그가 의미하는 바를 이해할 수 있게 해주었습니다.데이터베이스 테이블에서 슬러그를 뉴스로 변경합니다.슬러그는 포인터와 같습니다.
언급URL : https://stackoverflow.com/questions/19335215/what-is-a-slug
'programing' 카테고리의 다른 글
XMLHttpRequest.responseType 설정이 갑자기 금지되었습니까? (0) | 2023.08.22 |
---|---|
하위 요소에 영향을 주지 않고 배경 이미지의 불투명도 설정 (0) | 2023.08.22 |
C 프로그래밍의 고정점 연산 (0) | 2023.08.22 |
PDO로 연결 시간 제한 설정 (0) | 2023.08.22 |
Springs XmlBean Factory는 더 이상 사용되지 않습니다. (0) | 2023.08.22 |