2010-06-26 1 views
0

나는 CodeIgniter를 사용하고, 그리고 난 현재이 URL 형식 설정이 있습니다로그인 한 사용자 이름을 URL에 넣는 방법은 무엇입니까?

http://example.com/view/ 

나는 URL 사용자 명 로그인 된 사용자에 넣어 좋아하고 URL의보기 부분을 제거하는 것입니다. 내 컨트롤러입니다. 그래서 주소 표시 줄에 다음과 같습니다 뭔가 할 수 있습니다 : 그러나

http://example.com/johnny 

를, 내가 먼저 그렇게처럼 내 htaccess로 파일을 사용하여 뷰의 일부를 제거하려고 :

RewriteEngine on 
RewriteBase/
RewriteCond $1 !^(index\.php|images|css|js|swfupload|uploads|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [QSA] 

#trying to remove view?? 
RewriteRule ^(.*)$ view.php/$1 [QSA] 

그러나 이것은 403의 결과 (금지 된) 오류로 인해 요청한 URL이 손상되었습니다.

어떻게하면이 작업을 가장 잘 수행 할 수 있습니까? Codeigniter의 루트를 사용하고 있을까요?

도움을 주셔서 감사합니다.

+0

사용자 jane이 'http : // example.com/johnny'를 볼 경우 어떻게해야합니까? 오류를 표시 하시겠습니까, 아니면 johnny to jane의 프로필 페이지 (페이스 북의 기능과 유사)를 표시합니까? – Lukman

+0

@ Lukman - 예. 정확하게 구현하려고하는 기능입니다. 다른 사용자가 해당 사용자 프로필을 볼 수있는 페이지로 리디렉션하지 않으면 사용자가 로그인했는지 확인합니다. – Abs

답변

4

기본적으로 경로를 만들어야하며 프로필이 아닌 다른 모든 경로를 사용해야합니다. 그 종류의 성가신하지만 당신이 CI에서 그것을 어떻게해야하는지, 나는 틀릴 수도 있습니다. 예 :

$route['user/login'] = "user/login" 
$route[':any'] = "profile/$1"; // user profile 
+0

라우트 파일에 로그인 한 URL을 추가 할 수 있습니까? 즉'$ username = $ this-> session-> userdata ('username'); $ route [ 'view /'.$ 사용자 이름] = "보기/색인/$ 1"; – Abs

+0

@Abs 아니요,하지만 왜 그렇게해야합니까? – mikelbring