에 다시 작성 쿼리 문자열은 어떻게 변경 재 작성을 사용할 수 있습니다 :htaccess로 mod_rewrite를 :</p> <p>/태그 = foo는</p> <p>하려면 :</p> <p>/태그/foo는</p> <p>내가 시도 경로
RewriteCond %{QUERY_STRING} ^tag=(.+)$
RewriteRule ^(.*)$ http://www.example.com/tag/$1 [L]
하지만 작동하지 않았습니다.
에 다시 작성 쿼리 문자열은 어떻게 변경 재 작성을 사용할 수 있습니다 :htaccess로 mod_rewrite를 :</p> <p>/태그 = foo는</p> <p>하려면 :</p> <p>/태그/foo는</p> <p>내가 시도 경로
RewriteCond %{QUERY_STRING} ^tag=(.+)$
RewriteRule ^(.*)$ http://www.example.com/tag/$1 [L]
하지만 작동하지 않았습니다.
재귀를 방지하려면 %{QUERY_STRING}
의 쿼리 문자열이 이미 다른 규칙에 의해 변경되었을 수 있습니다 대신으로 request line 확인해야 :
RewriteCond %{THE_REQUEST} ^GET\ /\?(([^&\s]*&)*)tag=([^&\s]+)&?([^\s]*)
RewriteRule ^(.*)$ /tag/%3?%1%4 [L,R=301]
그런 다음 다시 쓸 수있는 충돌없이 다시 내부적으로 요청 :
RewriteRule ^tag/(.*) index.php?tag=$1 [L]
는 다음과 같은 시도 :
RewriteCond %{QUERY_STRING} ^tag=(.+)$
RewriteRule ^(.*)$ http://www.example.com/tag/%1 [L]
보통, 재 작성은 반대의 효과를 달성하는 데 사용됩니다. 정말로 다음과 같이하고 싶지 않습니까?
RewriteRule ^tag/(.+)$ index.php?tag=$1 [L]
:
이 같은 URL에http://java.scandilabs.com/faq?key=Contents_of__gitigno
:
http://scandilabs.com/technology/knowledge/Contents_of__gitigno
원래의 쿼리 문자열 폐기 끝에 물음표의 추가와 함께 나를 위해 일한 위의 앤드류의 응답 :
RewriteCond %{HTTP_HOST} ^java
RewriteCond %{QUERY_STRING} ^key=(.+)$
RewriteRule ^(.*)$ http://scandilabs.com/technology/knowledge/%1? [R=301,L]
주 경우를 아파치 2.4 이상 버전에서 물음표 대신 QSD 플래그를 사용할 수 있습니다.
앤드류 무어와 검보 고마워요. 근데 고마워요. 나는 성공하지 못한 채 1 주일 이상의 해결책을 찾으려고합니다. Gumbo가 제시 한 해결책으로 문제가 해결되었습니다. 내가 모르는 사람들을 돕고 자하는 사람들을 만날 때 우리는 더 나은 세상을 가질 수 있다고 확신합니다. 죄송합니다. 오류는 있지만 영어 지식은 매우 제한적입니다. 감사하고 싶습니다. Vera – Vera
@Vera : 메시지 : – Gumbo
비슷한 게시물의 다른 모든 stackoverflow 답변을 할 수 없으면 내 문제가 해결되었습니다. 감사 –