2009-04-22 5 views
3

내가 사용자 이름 인 URL을 http://example.com/user/me이라고 가정합니다. 사용자가 주소 표시 줄에 URL을 입력하면 사용자의 세부 정보를 표시하려고합니다. 나는 어떤 도움이 mod_rewrite라는 아파치의 모듈를 사용하는 램프에이 일을읽을 수있는 URL은 어떻게 작성합니까?

+0

독자적인 코드로 비슷한 작업을 수행하거나 SO를 수정하는 방법을 찾고 계십니까? (빠른 설명을 제안하십시오. 그렇지 않으면 사용자 음성에 속한 SO에 대한 제안으로 간주됩니다.) – Richard

+0

내 코드에서 url은 일을 쉽게하기위한 것이 었습니다. –

+0

[mod_rewrite 튜토리얼] (http : //www.workingwith. me.uk/articles/scripting/mod_rewrite) –

답변

5

방법 중 하나를 작업, 평가 등 http://example.com/user.php?user=me

로 URL을에게 싶지 않아요. 그런 다음 자세한 내용은 mod_rewrite에 대한 문서에 대한 /user.php?user=$1

검색을 가리 키도록 /user/([a-z]+)의 URL을 다시 작성할 수 있습니다.

4

가장 간단한 방법은 (서버 구성 또는 가상 호스트 구성에서, .htaccess에서) 될 것이다 :이 파일, 디렉토리 또는 기호를 일치하지 않는 모든 요청을 전달합니다

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

index.php에 대한 링크 거기에서 요청 URI를 검사하여 수행 할 작업을 결정할 수 있습니다. 실제로 어떤 조치를 취해야하는지 결정하기 위해 URL을 해체하는 방법을 알고있는 일종의 운영자가 필요할 것입니다. 실제로 이것은 일부 MVC 구현을 초래할 수 있습니다. 그러나 이것이 요구 사항은 아닙니다.

+0

안녕하세요, echo $ _GET [ 'u']; 에코 "
"; $ count = strlen ($ _ SERVER [ 'PHP_SELF']); echo "first count; $ count
"; $ nme = $ count - strlen (pete); echo "second count; $ nme
"; echo substr ($ _ SERVER [ 'PHP_SELF'], $ nme); ? –

+0

또한 위의 경우에만이 http://stackoverflow.com/user/me/ 이 아닌 http://stackoverflow.com/user/me 통지 "/" –

0
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?u=$1 
관련 문제