2010-04-04 4 views
3

내 소셜 네트워킹 사이트의 경우 페이스 북 또는 twitter 비슷한 URL을 명명 규칙을 다시 작성하고 싶습니다. 예를 들어 트위터를 사용.htaccess 트위터 또는 페이스 북 URL 명명 규칙

, 그들은 페이지를 표시 한 twitter.com/about 및 다른 페이지 표시 twitter.com/{$username} 그러나

, 당신은 구별 말을 어떻게에에 등록이있는 사용자 우리 사이트는 "대략"다음으로. 이것으로부터 우리는 "about"이라는 사용자와 약 페이지 사이에 서버 충돌을 일으킬 것입니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

답변

2

일반적으로 충돌이 발생하지 않도록 구현되어 있습니다. 예를 들어 virtual/users 디렉토리 또는 하위 도메인 인 mysite.com/users/msilvis 또는 users.mysite.com/msilvis에 모든 사용자를 수용 할 수 있습니다.

귀하의 사이트 루트 디렉토리를 통해 모든 사용자가 액세스 할 수있게하는 것이 좋습니다. 잠재적으로 귀하가 페이지를 추가하지 못하게 할 수 있기 때문입니다. 예를 들어, "약"페이지가 없다고 가정하고 사용자가 "about"이라고 등록하고 호출합니다. 너는 망했어.

아직 선택하지 않았다면 등록하기 전에 웹 사이트에 사용자가 가질 수있는 HTTP 요청을 시도하십시오. 404가 없으면 뭔가에 이미 해당 이름이 있습니다.

0

누군가 기존 URL과 충돌하는 사용자 이름을 만들 수있는 기능을 제한합니다.

0

아직 개발 단계에있는 경우 Kohana PHP 프레임 워크를 살펴볼 수 있습니다. 라우팅 기능을 통해 zneak 및 dd로 강조 표시된 문제를 해결하면 http://yoursite.com/about이 특정 컨트롤러/액션을 가리키는 경로를 정의하면 URL 구조와 같은 트위터를 원한다고 생각할 때 MVC 디자인 패턴을 사용하고 있다고 가정합니다.

희망 하시겠습니까?

편집 : 사람들이 막 가입하지 못한다는 사실을 잊어 버렸습니다. 다른 사람들이 그 사람 페이지에 연결되는 것을 막을 수 있습니다. 일종의 핵심 페이지 인 일종의 유효성 검사를 실시하십시오.

2

우리의 마지막 결정은 우리 서버 mysite.com/user의 페이지를 요청할 때 해당 페이지인지 아닌지를 먼저 확인한 후 페이지가 아니라면 페이지가 아닌 것으로 간주합니다 사용자 인 경우 해당 사용자가 개체인지 확인하고 그렇지 않은 경우 404 페이지로 전달됩니다.

그래서 ontop은 앞에서 언급 한 것처럼 HTTP 요청을 사용하고 사용자가 "약"메시지를 표시하는 방법에 여전히 페이지가있는 경우 기본적으로 그 사람이 그의 페이지를 보지 않을거야.