www.site.com?lang=lv&type=1&mode=2
을 www.site.com/lv/1/2
에 Apache mod_rewrite 옵션을 사용하여 다시 쓰는 방법을 알고 싶습니다.Apache mod_rewrite를 사용하여 여러 변수에 대한 규칙을 다시 작성하십시오.
2
A
답변
0
기본 재 작성 :
이RewriteEngine On
RewriteRule http://www.site.com/?lang=(.+?)&type=(\d+?)&mode=(\d+?) http://www.site.com/$1/$2/$3 [L,R=permanent]
편집 : 변경된 재 작성 플래그 실제로 /lv/1/2
?lang=lv&type=1&mode=2
를 다시 쓸 원하는 가정 영구 리디렉션
1
을 강제로 (I 반대 할 이유 참조) 다른 다시 쓰기가 활성화되어 있지 않으면 트릭을해야합니다.
RewriteRule ^/([^/]*)/([^/]*)/([^/]*)$ ?lang=$1&type=$2&mode=$3 [L]
또한; 당신은 당신의 URI에 그것들을 포함하기를 원한다면 그 마술 번호를보다 유용한 정보로 대체하는 것이 더 낫습니다.
편집 : 정말 당신이하고 싶은 그 반대 인 경우는, 매트 S.
+0
네, 저는 그 반대입니다 : P 고마워요! – werd
0
하여 답을 당신은 별도로 URI 경로와 쿼리를 처리해야합니다. 매개 변수가 바로 그 같은 순서로 표시하는 경우, 당신은이 작업을 수행 할 수 있습니다
RewriteCond %{QUERY_STRING} ^lang=([^&]+)&type=([^&]+)&mode=([^&]+)$
RewriteRule ^$ /%1/%2/%3? [L,R=301]
그렇지 않으면 당신은이 규칙을 사용하기 전에 올바른 순서에 넣어 또는 한 번에 각 매개 변수에 응시해야합니다.
관련 문제
- 1. PHP/Apache : .htaccess로 규칙을 다시 작성하십시오.
- 2. .htaccess 리디렉션에 대한 규칙을 다시 작성하십시오.
- 3. 하위 폴더로 전환하는 규칙을 다시 작성하십시오.
- 4. 브라우저에서 URL을 변경하지 않고 규칙을 다시 작성하십시오.
- 5. htaccess에 도메인 루트에 대한 다시 쓰기 규칙을 작성하십시오.
- 6. mod_rewrite를 사용하여 Apache SSL 리다이렉트
- 7. 하나의 htaccess 파일에 사이트 당 규칙을 다시 작성하십시오.
- 8. apache mod_rewrite를 강제로 index.php
- 9. URL 다시 쓰기가 작동하지 않습니다. - .htaccess에서 규칙을 다시 작성하십시오.
- 10. .php 확장자를 다시 작성하십시오
- 11. Lighttpd mod_rewrite를 Apache Mod_rewrite
- 12. Apache mod_rewrite를 사용하여 서브 디렉토리 요청 재 작성 방지
- 13. Apache mod_rewrite를 사용하여 URL에서 폴더 제거
- 14. Apache mod_rewrite를 사용하여 파일 확장자를 변경하십시오.
- 15. .htaccess 컨트롤러에 특정 쿼리 문자열을 매핑하는 규칙을 다시 작성하십시오.
- 16. URL을 htaccess로 다시 작성하십시오.
- 17. mod_rewrite를 사용하여 사용자 에이전트에 대한 다시 쓰기 규칙
- 18. mod_rewrite를 사용하여 추가 쿼리 문자열 다시 작성
- 19. FIRST를 리디렉션하고 mod_rewrite를 사용하여 다시 쓰는 방법
- 20. mod_rewrite를-여러 페이지
- 21. tomcat6을 사용하여 apache2의 다시 쓰기 규칙을
- 22. mod_rewrite를 사용하여 Apache 기본 제공 404 페이지로 리디렉션 하시겠습니까?
- 23. iphone : Core Graphics를 사용하여 GLPaint를 다시 작성하십시오.
- 24. htaccess를 사용하여 drupal의 하위 폴더를 다시 작성하십시오
- 25. URL에 대해서는 라우팅 개념을 사용하여 다시 작성하십시오.
- 26. mod_rewrite를 사용하지 않고 Apache URL 재 작성
- 27. Apache URL 다시 쓰기 질문
- 28. .htaccess를 사용하여 get 변수를 더 우아한 것으로 다시 작성하십시오.
- 29. CouchDB에서 url을 다시 작성하십시오.
- 30. PHP 코드를 다시 작성하십시오.
작동하는 것 같습니다. 요청한 URL을이 서버에서 찾을 수 없습니다. – werd
'site.com/lv/1/2'에 응답하는 페이지가 있습니까? 어떤 종류의 프레임 워크를 사용하고 있습니까? –