2009-09-10 5 views
0

빠른 항목.URL에 대한 적절한 대체/

  • 빈 공간 = _
  • æ = ae
  • Æ = ae

등 :

나는 자리에 대부분의 교체 모드 재 작성을 사용하고있는거야 .

/의 자연 교체 문자는 무엇이겠습니까?

감사

답변

2

밑줄은 단어 문자로 간주되므로 foo_bar은 두 단어가 아닌 한 단어입니다. 그러나 하이픈은 단어 문자로 간주되지 않으므로 foo-bar은 두 단어입니다.

따라서 두 부분을 분리하려는 경우 - 하이픈을 사용하고 두 부분을 연결할 때마다 밑줄 _을 사용해야합니다. 분리하는 데 사용되는 /의 경우 하이픈 -을 선호합니다.

+0

하이픈 (-) 문제는 다음과 같이 사용됩니다 : "Big ball - supersports". 그래서 그것은 그것과 충돌 할 것입니다. – Cudos

+0

@ Cudos : 그럼 당신은 그걸 'Big_ball _-_ supersports'로 변환 중입니까? 왜 '빅 볼 슈퍼 보너스'에 들어 가지 않습니까? – Gumbo

+0

나는 데이터베이스에서 이름을 검색하기 위해 PHP를 사용하기 때문에. 따라서 각 문자는 다시 원래 문자로 변환되어야합니다. 그렇지 않으면 일치하는 문자가 없습니다. – Cudos

0

내가 대시를 사용합니다 - 구글 검색 엔진 최적화 목적으로, 또는 밑줄이 같은 단어를 분리 이러한 가독성 모두 지사이기 때문에 _.

+0

문제는 hypen (-)이 다음과 같이 사용되었습니다 : "Big ball - supersports". 그래서 그것은 그것과 충돌 할 것입니다. – Cudos

1
  • Æ = AE 당신은 반드시 그렇게 할 필요가 없습니다

. 비 ASCII 유니 코드 문자를 UTF-8로 인코딩 된 바이트로 URL에 넣을 수 있습니다. 그래서 : 같은 브라우저에서

http://en.wikipedia.org/wiki/%C3%86 

표시 :

http://en.wikipedia.org/wiki/Æ 

과 하나가 주소 표시 줄에 붙여 넣을 수 있습니다.

공간 및 슬래시는 % 20 및 % 2F (으)로 인코딩 할 수 있습니다. 그러나 다른 형식의 예약 문자이기 때문에 해당 형식은 여전히 ​​브라우저에서 백분율로 표시됩니다. 그래서 그들은 꽤 예쁘게 보이지 않습니다. % 2F에는 CGI를 기반으로하는 전통적인 스크립팅 환경에서 읽을 수없는 추가 문제가 있습니다. 아파치는 기본적으로 아파치가 이러한 스크립트를 혼란스럽게 만들고 보안 허점을 남기지 않도록 차단합니다. 모든 제어 문자와 함께

# % ' () ? [ ] (U+00AD soft hyphen) 

을 (U + 00A0 제외 U + 001F에 U + 0000, 그리고 U + 00BF에 U + 007F) :

그래서 나는 완전히 제거하여 제목 슬러그을합니다. 그런 다음 모든 실행 바꾸기 :

" $ & * + ,/: ; <=> @ \^(U+0020 space) (U+000A newline) 

단일 밑줄. 이렇게하면 % xx 시퀀스를 URL에 표시 할 필요가 없습니다. (유니 코드 문자의 경우 여전히 % xx 시퀀스가 ​​있지만 사용자는이를 볼 수 없습니다.)

원하는 경우 둘 중 더 예쁜 것을 밑줄 대신 하이픈을 사용할 수 있습니다. 검색 엔진도 괜찮을 것입니다. 다른 대답에

ETA 다시 코멘트 :

내 데이터베이스의 이름을 검색하기 위해 PHP를 사용하기 때문에

. 따라서 각 문자는 다시 원래 문자로 변환되어야합니다. 그렇지 않으면 일치하는 문자가 없습니다.

그런 경우 문자로 복구 할 수없는 모든 작업을 수행 할 수 없습니다. 'Æ'을 'ae'로 변경할 수 없으며 공백을 '% 20'으로 인코딩하고 '% 2F'로 슬래시를 사용해야합니다. 이렇게하면 URL이 약간 엉망이되며 '% 2F'는 Apache와 IIS에 대한 배포 문제를 제공합니다.

제목에만 키를 사용해야하는 경우 위에 제안 된대로 처리 된 슬러그에 (UNIQUE 색인 된) 열을 추가해야합니다. 그러나 페이지 제목의 이름을 바꾸거나 수정할 수는 없으므로 슬러그가 바뀌고 URL이 깨집니다.

이 문제를 해결하기위한 일반적인 접근 방법은 슬러그 외에도 숫자 ID를 포함시키는 것입니다 (예 : SO가 수행하는 방법 참조). 또한 최적의 SEO를 위해 슬러그 이름이 잘못된 곳에서 301 리디렉션 할 수 있습니다.