2011-08-27 8 views
1

저는 mod_rewrite를 처음으로 사용하고 있습니다. 시나리오를 제시 할 것입니다. 가능한지 여부를 알려주세요.URL 다시 쓰기 mod_rewrite

데이터베이스 테이블에 세 가지 속성 테이블 (id, title, parentid)이 있다고 가정합니다.

내 URL은 특정 콘텐츠는 다음과 같습니다에 액세스하려면 :

example.com/content.php?id=some_value 

지금, some_value가 id, 제목이 some_title입니다.

example.com/content.php?id=some_value&title=some_title&parenttitle=parent_title 

하는 경우 입력 된 URL이 있어야합니다 : 그러한 것을

example.com/some_title/ 

이 url.OR

이상에
example.com/content.php?id=some_value&title=some_title 

나는 또한 같은 URL을 가질 수 이름이 변경 될 수 있음을 가능 다음과 같은 내용 :

example.com/parent_title/some_title/ 

내가 분명히하지 않았다면 나에게 알려줘. 다시 이것은 mod_rewrite에서의 첫 번째 시도입니다. 그래서 작은 정보조차도 매우 도움이 될 것입니다.

답변

3

다음은 ... 당신의 .htaccess 파일

# /id - search an ID 
    RewriteRule ^([0-9]+)(/?)$ /content.php?id=$1 [QSA,L]                 

    # /title - search a title 
    RewriteRule ^([a-z0-9\-\ ]+)$ /content.php?title=$1 [NC,QSA,L]               

    # /parent/child - search parent and child 
    RewriteRule ^([a-z\-\ ]+)/([a-z0-9\-\ ]+)$ /content.php?parent=$1&child=$2 [NC,QSA,L]         

    # /id/name - search id and title 
    RewriteRule ^([0-9]+)/([a-z0-9\-\ ]+)$ /content.php?id=$1&child=$2 [NC,QSA,L]           

    # /search/some_title - search for a title 
    RewriteRule ^search/([a-z0-9\-\ ]+)(/?)$ /search.php?q=$1 [NC,QSA,L]  

등의

+0

나는 그것이 결국 가능할 것이라고 생각한다! – Tech4Wilco

-1

NO! URL 재 작성은 아무것도 생성하지 않습니다. 당신이 가진 것을 다른 것으로 바꾸십시오! id, title 또는 parentid를 URL에 넣어야합니다.

+0

덕분에 .. 내가 생각했던 그 넣을 수거야. 어떤 PHP 대안을 사용할 수 있습니까 ?? – akashr

+0

@akashr 확실한 [this] (http://stackoverflow.com/questions/7196698/rewriting-urls-in-php-instead-of-server-config/7199782#7199782) – tttony

+0

@akashr 왜 이드를 넣지 않습니까? URL에 상위 ID가 있습니까? 나는 당신이 제목으로 데이터를 얻을 수 있다고 생각한다. (그것이 유일한 경우) – undone