2011-12-16 2 views
0

내가 다음 페이지 말해봐 :배열에서 htaccess 다시 쓰기?

http://www.site.com/folder/page.php?id=89 
http://www.site.com/folder/page.php?id=85 
http://www.site.com/folder/page.php?id=camel+hump 
http://www.site.com/folder/page.php?id=76 
http://www.site.com/folder/page.php?id=71 
http://www.site.com/folder/page.php?id=frog 
http://www.site.com/folder/page.php?id=62 
http://www.site.com/folder/page.php?id=59 

을하고 난 다음 지시 할 : 다음 페이지에

89, 79, 44, 낙타 + 혹 :

http://www.site.com/folder/page/$1 

EG :

http://www.site.com/folder/camel-hump (Notice the + replaced with a -) 

및 다음 페이지의 모든 항목 :

http://www.site.com/folder/overview 

어떻게하면됩니까?

기본적으로 약 200 페이지의 리디렉션이 필요하며 get 매개 변수와 다른 URL이 있습니다. 일부는 /folder/get-parameter 페이지로 리디렉션해야하고 나머지는 /folder/overview 페이지로 리디렉션해야합니다. 예를 들어 camel+humpcamel-hump

가되도록 내가 재 작성 규칙이 할 수있는 방법, 표지판 -

또한으로 대체 할 + 표시를해야합니까? 같은 뭔가 : 다른

if match (89|79|44|camel+hump|frog) go to /folder/$1 (but replace + with -) 

모든 것이

/folder/overview 당신에게 감사로 이동

답변

0

시도 : 어떤 이유로 +를 들어

# Filter out the query string values for id that you want to rewrite 
RewriteCond %{QUERY_STRING} ^id=(89|79|44|camel\+hump|frog) 
RewriteRule ^folder/page.php$ /folder/page/%1? [L] 

# get rid of the + 
RewriteRule ^folder/page/(.+)\+(.+)$ /folder/page/$1-$2 [L] 
+0

로 대체되지 않습니다 - 표지판, 어떤 생각? – pdlol

+0

이러한 규칙은 내가 .htaccess 파일에 넣을 때 광고 한 것과 똑같이 작동합니다. 다른 질문에 설정에 맞게 변경 한 것처럼 보입니다. –