2012-06-24 3 views
1

현재이 설정이되어 있으며 사용자 폴더 내에서 제대로 작동합니다.mod_rewrite : 요청 매개 변수를 사용하는 다중 레벨 URL

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?i=$1 

예를 들어 127.0.0.1/site/users/admin은 어떻게 것,이 프로필 페이지와 같이 이제

을 127.0.0.1/site/users/index.php?i=admin 간다 이 같은 것을하십시오.

사용자/관리/활동이 해당 사용자의 활동 페이지를 표시 할 수 있도록

? 나는 이것에 대해 어떻게 생각하는지 완전히 혼란 스럽다.

index.php가 $ _GET 변수의 페이지를 허용하도록하는 것이 가장 좋습니까? 하지만 htaccess로 어떻게 해결할 수 있을까요?

+0

'users/admin'은'index.php? i = admin' 또는'index.php? i = users/admin'로 리디렉션됩니까? 또한, 다른'$ _GET' 변수에서'activity'를 index.php로 보내고 싶다는 것을 정확하게 이해 했습니까? – Havelock

+0

이해하기 쉽도록 게시물을 업데이트했으나 users/admin은 users/index.php? i = admin으로 이동했습니다. 그리고 두 번째 질문에 따라 다릅니다. 페이지를 분할하는 가장 좋은 방법이라고 생각합니까? 예를 들어 내 웹 사이트에 프로필이있는 경우 사용자/Havelock이됩니다. 이제 친구를 만나고 싶으면 사용자/Havelock/Friends를 사용할 수 있기를 바랍니다. 두 번째 부분을 다른 $ _GET 변수로 옮기는 것이 가장 좋을까요? 그래서 외출은 users/index.php? i = Havelock & page = 친구가 될 것입니다. – Harry

답변

1

당신의 규칙은 다음과 같이 보일 것입니다 :

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/(.*)$ index.php?i=$1&page=$2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?i=$1 [L] 

이제 index.php를 얻고해야 2 개 $_GET 변수 ipage.

+0

위대한 작품! 하지만 내가 사용자/관리자/친구를 사용할 때 모든 CSS가 실패합니다. 하지만 난 그들과 직접 연결되어 다시 (http : //www.127.0.0.1/site/css/main.css보다는 ../css/main.css) 나는 내 모든 링크에 대해 이렇게해야합니까? – Harry

+0

@Transdee 이것은 당신이 CSS에 대한 상대적인 링크를 가지고 있기 때문에''또는 여러분의 페이지 머리글에 적절한 것을 추가 할 수 있습니다 .. –

+0

그냥 전체 링크? – Harry

관련 문제