2014-11-20 1 views
1

폴더에 두 개의 URL을 다시 작성하면이에 대한 www.example.com/mybooks/novel-15URL을 내가</p> <p>먼저 폴더에 두 URL을 다시 할

www.example.com/mybooks/list.php?id=novel-15이다 내가이 myBooks라는 다음 코드/htaccess로 파일 [htaccess로가에

RewriteEngine on 
RewriteBase /mybooks/ 

RewriteCond %{THE_REQUEST} /list\.php\?id=([^\s&]+) [NC] 
RewriteRule^%1? [R=302,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-Za-z0-9-]+)/?$ list.php?id=$1 [L,QSA] 

그것이 제대로 작동 myBooks라는 폴더] ...

가 지금은

를 다시 작성하려면

myBooks라는/search.php? search_word = 신비 & search_option는 = 모든 & 페이지 = 4 myBooks라는에/비밀/내가 밖으로이 작업을 수행 할 모든/4

내가이

을 할 수있는 방법을 처음 재 작성 옵션을 distrub
+1

왜 당신은 매우 유사한 URL이이 별도의 일을 갖고 싶어합니까? "/ mybooks/search/mystery-all-4"로 다시 쓰지 않으시겠습니까? 두 URL 사이를 구별하는 것은 가능하지만 후자는 두 개의'-'가 있기 때문에 현명한 이동이 아닙니다. URL에'/ search /'를 추가함으로써, URL을 쉽게 이해할 수 있습니다. – Sumurai8

+0

나는 wht ur 말을 이해할 수 없다 ... – user3347198

답변

1

당신은 사용할 수 있습니다

RewriteEngine on 
RewriteBase /mybooks/ 

RewriteCond %{THE_REQUEST} /search\.php\?search_word=([^\s&]+)&search_option=([^\s&]+)&page=([^\s&]+) [NC] 
RewriteRule^%1/%2/%3? [R=302,L] 

RewriteCond %{THE_REQUEST} /list\.php\?id=([^\s&]+) [NC] 
RewriteRule^%1? [R=302,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(\w+)/(\w+)/(\d+)/?$ search.php?search_word=$1&search_option=$2&page=$3 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-Za-z0-9-]+)/?$ list.php?id=$1 [L,QSA] 
+0

잘 작동하지만, CSS와 이미지 파일은 작동하지 않는다. – user3347198

+0

css/js는 상대 링크 때문에 작동하지 않는다. 페이지의 HTML 헤더에 이것을 추가 할 수 있습니다 :'' – anubhava

+0

great great !!! thx – user3347198