2015-01-09 5 views
1

포럼 이전으로 인해 기존 URL을 수정하려고합니다. 내가로 리디렉션 할 http://www.example.com/forum/topic.asp?TOPIC_ID=666.htaccess - 쿼리 문자열을 다시 작성하고 디렉토리로 리디렉션

: 같은

오래된 URL의 모습 http://www.example.com/forum/missions/666

내 접근 방식이,하지만 전혀 작동하지 않기 때문에 나는 나의 머리를 긁적 해요 :

RewriteCond %{QUERY_STRING}  ^TOPIC_ID=(.*)$ [NC] 
RewriteRule ^/forum$  /forum/missions/%1  [NC,L,R=301] 
+0

이 보인다. 사용자가 http://www.example.com/forum/missions/666에 방문하여 서버가 http://www.example.com/forum/topic.asp로 확인한 내용을 볼 수있게하려는 것 같습니다. TOPIC_ID = 666. 그 맞습니까? – Ding

답변

1

, 당신이 당신의 루트의 .htaccess이 첫 번째 규칙를 사용할 수 있습니다

RewriteCond %{QUERY_STRING} ^TOPIC_ID=([^&]+) [NC] 
RewriteRule ^forum/topic\.asp$ /forum/missions/%1? [NC,L,R=302] 

/forum/에서의 .htaccess가있는 경우, 당신은 사용할 수 있습니다 당신의 /forum/.htaccess첫 번째 규칙는 : 그것은 역처럼

RewriteCond %{QUERY_STRING} ^TOPIC_ID=([^&]+) [NC] 
RewriteRule ^topic\.asp$ /forum/missions/%1? [NC,L,R=302] 
+1

고마워, 첫 번째 것은 의도 한대로 작동한다. 여기에서이 구문으로 계속 진행할 수 있습니다 :) –

+0

환영합니다. 다행이었습니다. – anubhava

0
나는이 제안 싶지만, 정말 여기에서 :

시도 할 수

/포럼 /`에는 htaccess로가없는 가정

+0

쿼리 문자열 (? 뒤에 오는 부분)이 RewriteRule 사용 문자열에 없기 때문에 그렇게 할 수 없습니다. – Croises

+0

나는 이것에 관해서 확실히 교훈이 필요하다. – sodawillow

+0

나는 anubhava에서 모든 것을 배운다 .-) – Croises

관련 문제