2013-06-27 1 views
1

URL 슬러그의 두 번째 부분을 얻을 수없는 것 같습니다. 나는 현재이처럼 내 htaccess로 파일을 가지고 :URL 슬러그 관련 문제.

RewriteEngine on 
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?id=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?id=$1 

그리고이 얻을 :

http://example.com/user/john 

을 그리고 지금이 동작하지 않습니다 :

http://example.com/user/john?o=last 

가 어떻게 $_GET['o']를 얻을 수 있습니다 ?

+2

http://stackoverflow.com/a/11760282/1628832를? – karthikr

+0

어떻게하면 URL이 제대로 작동합니까? http://example.com/user/john/last – Brian

+0

리디렉션 할 URL은 무엇입니까? 사용자/존 실제 폴더입니까? 원래 URL은 무엇입니까? –

답변

1
  1. 리디렉션 중에 기존 쿼리를 보존하려면 QSA (Query String Append) 플래그가 필요합니다.
  2. 후행 슬래시를 처리하기 위해 2 개의 규칙 만 필요하지는 않습니다.

이 당신의 코드를 바꿉니다 :

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^([a-z0-9_-]+)/?$ /index.php?id=$1 [L,QSA,NC]