문제

국제 사이트에서 Permalinks를 어떻게 다루는 지 궁금합니다. Permalink에 의해 나는 독특하고 인간이 읽을 수있는 링크를 의미합니다.

예를 들어 영어 문구는 문제가되지 않습니다 /제품/일부 타이틀/

그러나 제품 제목이 중국어로된다면 어떻게합니까? 이 문제를 어떻게 처리합니까?

국제 사이트를 구현하고 있으며 한 가지 요구 사항은 인간 읽기 가능한 URL을 갖는 것입니다. 모든 의견에 감사드립니다

도움이 되었습니까?

해결책

/productId/{product-id-number}/some-title/와 같은 일부 체계는 사이트가 {number}를보고 '일부 타이틀'부분을 완전히 무시합니다. 사용되지 않기 때문에 원하는 언어 나 원하는 언어에 넣을 수 있습니다.

다른 팁

ISO 라틴 -1 세트 외부의 문자는 URL에서 허용되지 않습니다. 이 사양, 그래서 중국어 줄은 즉시 나올 것입니다.

제품 이름을 현지화 할 수있는 경우 URL을 사용할 수 있습니다. <DOMAIN>/<LANGUAGE>/DIR/<PRODUCT_TRANSLATED>, EG :

http://www.example.com/en/products/cat/
http://www.example.com/fr/products/chat/

a mod_rewrite 효과에 대한 규칙 :

RewriteRule ^([a-z]+)/product/([a-z]+)? product_lookup.php?lang=$1&product=$2

위의 첫 번째 예에서는이 규칙이 호출됩니다. product_lookup.php?lang=en&product=고양이. 이 스크립트 내부에는 내부 번역 엔진에 액세스 할 수 있습니다 ( lang 매개 변수 en 이 경우) 프랑스 페이지의 "채팅", 영어의 "고양이"등을 변환하기 위해 사용자를 향한 쪽에서 동일한 번역을 수행하려면.

외부 번역을 사용하는 것은 좋은 생각이지만 비즈니스 도메인에서 올바르게 작동하는 신뢰할 수있는 것을 얻는 것은 까다 롭습니다. Google이 열렸습니다 번역 API, 그러나 현재는 제한된 수의 언어 만 지원합니다.

  • 영어 <=> 아랍어
  • 영어 <=> 중국어
  • 영어 <=> 러시아어

보세요 위키 백과. 그들은 URL에서 국가 문자를 사용합니다.

예를 들어 러시아 홈페이지 URL은 다음과 같습니다. http://ru.wikipedia.org/wiki/заглавная_страница. 브라우저는 모든 비 ASCII 문자를 투명하게 인코딩하고 서버로 URL을 보낼 때 코드로 대체합니다. 그러나 웹 페이지에서 모든 URL은 사람이 읽을 수 있습니다.

따라서 특별한 작업을 수행 할 필요가 없습니다. 제품 이름을 URL에 넣으십시오. 웹 서버는 응용 프로그램을 자동으로 해독 할 수 있어야합니다.

나는 보통 비 ASCII 문자를 번역합니다. 예를 들어 "Täst"는 "Taest"가됩니다. GNU ICONV는 귀하를 위해이 작업을 수행 할 수 있습니다 (다른 라이브러리가 있다고 확신합니다).

$ echo täst | iconv -t 'ascii//translit'
taest

아아, 이러한 음역은 로케일 의존적입니다. 독일어 이외의 언어로 'ä'는 예를 들어 단순히 'a'로 번역 될 수 있습니다. 그러나 다른 한편으로는 ASCII로 설정된 모든 (일반적으로 사용되는) 문자에 대한 음역이 있어야합니다.

메모리가 제공되는 경우 URL에서만 영어 문자 만 사용할 수 있습니다. 이를 바꾸는 토론이 있지만 아직 구현되지 않은 것에 대해 상당히 긍정적입니다.

즉, 제품/제목의 번역을 다른 언어로 할 단어에 할당 할 수있는 테이블이 필요합니다. 예를 들어:

foo.com/cat은 "Cat" "Gato" "Neko"등에 대한 번역 조회가 필요합니다.

그런 다음 해당 인간 읽기 개체를 정확한 URL로 구문 분석하는 HTTP 모듈은 번역을 기반으로 제공 할 페이지를 알 수 있습니다.

그런 것을 찾아 보는 것은 나에게 넘쳐나는 것 같습니다. 모든 언어로 모든 다른 단어를 찾아 볼 수는 없습니다. 어쩌면 번역 API에 액세스하는 것이 좋습니다.

따라서 URL의 Sepecs가 허용하지 않기 때문에 Permalink에서 외국 숯을 사용할 수없는 것을 볼 수 있습니다.

스페셜 숯을 인코딩하는 것에 대해 어떻게 생각하십니까? 그러면 그 URL은 Google에서 인식합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top