2014-01-14 2 views
34

일부 htaccess 리디렉션과 관련하여 어려움을 겪고 있습니다. 방금 스택을 읽고 읽고 검색하는 데 약간의 시간을 할애하여 시나리오와 함께 작동하는 anwser를 얻을 수 없었습니다.htaccess 301 redirect - 쿼리 문자열 (QSA) 제거

이전 클라이언트 웹 사이트의 301 리디렉션을 새 것으로 만드는 중입니다. 이전 페이지에는 URL에서 제거 할 매개 변수 쿼리가 있습니다. 내가 할 수있는 여러 쿼리를

/menu.php?idCategorie=29&idDetail=172

/new-website-page/

에, 여기에 몇 가지 예입니다 :

/menu.php?idCategorie=29&idDetail=172 
/menu.php?idCategorie=29&idDetail=182 
/menu.php?idCategorie=29&idDetail=184 
/menu.php?idCategorie=29&idDetail=256 

어떤 다른 새로운 페이지에 대한 모든 링크.

RewriteCond %{QUERY_STRING} idDetail=172 
RewriteRule ^menu.php(.*) /new-page/? [R=301,L] 

내가 제대로 리디렉션하지만 URL 쿼리 문자열 유지 : 여기

내가 노력 무엇

RewriteRule ^menu.php?idCategorie=29&idDetail=172$ http://website.com/new-page/? [L,R=301] 

그리고이 : 나는 또한이 시도

http://website.com/new-page/?idCategorie=29&idDetail=172 

을 :

RewriteCond %{QUERY_STRING} idDetail=172(.*)$ 
RewriteRule ^menu.php /new-page-name?$1 [L,R=301] 

그리고 작동하지 않았습니다. (여전히 쿼리 문자열이 있습니다)

고마워요! 원래 URI의 기존 쿼리 문자열을 제거에 사용 이다 결국 ? 후행의

RewriteRule ^menu\.php$ /new-page-name? [L,R=301] 

를 적어 둡니다 :

답변

75

당신은이 규칙을 사용할 수 있습니다.

+6

덕분에 많은 아파치 2.4.0에서 QSD 플래그를 사용할 수 있습니다. 이것은 매력처럼 일했습니다! 좋은 하루 되세요 !! – newpxsn

+1

감사합니다. 나는 이것을 필요로했다 .. – sujitrulz

+0

간단한 'Redirect 301/old-path http : newdomaindomain.com/new-path' 구문에 대한 해결책이 있는가? – rassoh