2012-03-05 4 views
0

내 문제는 사용자가 사용자 정의 URL http://mywebsite.com/username을 갖기를 바랍니다.웹 사이트의 사용자 프로필 URL을 작성하는 방법은 무엇입니까?

내가 .htaccess file에 대해 읽었지 만 GoDaddy와 함께 있으므로 web.config file으로 뭔가를해야한다고 생각합니다.

현재 내 사용자 프로필 URL이 표시되지 않으며 모든 사용자에게 특정한 PHP 코드가 표시됩니다. 모든 사용자 (아직 테스트 모드에있는 사이트이므로 사용자 중 누구도 현재 진짜가 아닙니다)에 대해서만 http://mywebsite.com/profile이라고 말합니다.

프로필 URL에 현재 user?id=3 또는 기타와 같은 특정 사용자 정보가 표시되지 않으면 어떻게 URL 재 작성 작업을 수행합니까? 그리고 특정 사용자 정보를 얻기 위해 현재 프로필을 얻는 방법은 무엇입니까?

+0

사용중인 언어/기술로 질문에 태그를 지정하면 더 나은 답변을 얻을 수 있습니다. 귀하의 질문에 PHP와 web.config (.NET 개념)가 모두 혼란 스럽습니다. – Jason

답변

1

. 개인적으로 .htaccess에 의존하는 대신 필요한 모든 라우팅 논리를 응용 프로그램에서 수행하게합니다. 이것은 내가 일을하는 방법입니다 :

미리 작성된 라우터 클래스/모듈/라이브러리를 사용하여 시작합니다. PHP로 코딩하는 경우 Alloy Router과 같은 것을 사용하십시오. 일종의 프레임 워크를 사용하는 경우 라우팅이 이미 내장되어있을 수 있습니다.

다음 단계는 이전에 "포착"되지 않은 모든 경로를 포착하는 "모두 포착"프로파일 경로를 만드는 것입니다. "website.com/about", "website.com/contact"등과 같이 다른 경로가 많이있을 수 있습니다. 먼저 잡히게되고 catch-all 경로가 다른 경로를 가져옵니다.

캐치 올 경로는 응용 프로그램을 "프로필"컨트롤러로 라우팅합니다. 이 컨트롤러는 지정된 경로를보고 경로 내의 "사용자 이름"이 데이터베이스의 사용자 이름과 일치하는지 확인합니다. 그렇다면 특정 사용자의 프로파일을 작성하십시오. 그렇지 않다면 404를 제공하십시오.

모든 사용자 이름이 고유해야하며 다른 경로와 충돌하지 않아야합니다. 즉, 사용자가 사용자 이름을 'about'로 지정할 수 없습니다. 그렇지 않으면 URL이 발견됩니다. "약"경로로).

마지막으로 응용 프로그램 내에서 모든 링크를 적절한 URL로 이동시켜야합니다. 상단 네비게이션 바에 "프로파일"버튼이 있다면, 실제로 "website.com/username"로 가야합니다. 여기서 username은 현재 로그인 한 사용자의 실제 사용자 이름입니다. 다른 사용자의 프로필에 대한 모든 링크는 사용자 이름이 포함 된 올바른 URL로 이동하도록 동적으로 생성됩니다.

+0

와우, 답변 해 주셔서 감사합니다. 나는 PHP에 익숙하지 않다는 것을 언급하지 않았으므로 방금 말한 것은 모두 내 머리 위로 조금있다. 내 코드를보고 누군가가 할 수 있다고 말했는지 확인해야한다고 생각합니다. 감사 –