귀하의 질문이 조금 애매하지만, 나는이 당신을 위해 무엇을 찾고있는 생각 :
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (fr) [NC]
RewriteCond %{REQUEST_URI} !^/[a-z]{2}/ [NC]
RewriteCond %{REQUEST_URI} !^/fr/
RewriteRule ^(.+)$ /fr/$1 [L,R=301]
RewriteRule ^/?fr/index\.php$ /index_fr.php [L]
이 내부적없이 /index_fr.php
에 /fr/index.php
들어오는 요청을 다시 작성합니다 경로 구성 요소가 이 아닌 요청을과 일치 시키면 앞의 두 문자 패턴과 일치합니다 (예 : 앞에 세 문자가있는 /img/...
).
HTTP 서버 다시 쓰기 모듈을 사용하려면 동적 구성 파일 (.htaccess
)의 해석을 사용해야하며 해당 규칙을 보유한 파일은 해당 http 호스트의 DocumentRoot
에 있어야합니다.
그리고 일반 힌트
: 당신은 항상 동적 구성 파일 ("htaccess로")를 사용하는 대신 HTTP 서버의 호스트 구성 안에 같은 규칙을 배치하는 것을 선호한다. 이러한 파일은 오류가 발생하기 쉽고 디버깅하기가 어렵 기 때문에 서버 속도가 느려집니다. 그것들은 당신이 호스트 구성 (정말로 싸구려 호스팅 서비스 제공자를 읽음)을 제어하지 못하거나 자신의 재 작성 규칙을 작성하는 것에 의존하는 응용 프로그램을 가지고있는 경우에만 마지막 옵션으로 제공됩니다 (명백한 보안 악몽입니다)).