2017-02-05 1 views
0

제 질문은 아주 간단하지만 .htaccess로하는 새로운 그리고 난 이해하고 적용 할 수있는 인터넷을 통해 예 .../lind/index.php로 /index_lang.php를 어떻게 다시 작성 하시겠습니까?

나는 두 개의 인덱스가 보지 못했다 : index.phpindex_fr.php을.

나는 그 index_fr.phpfr/index.php으로 좋아하고 할 경우 프랑스어 fr/index.php에 언어와 index.php 다른 모든과 가능한 리디렉션 브라우저.

img/picture.jpgfr/ 루트에 액세스하려고하면 어떻게 될지 궁금합니다. fr/img/picture.jpg으로 보입니까 (이 경우 이미지가 손상됩니다)? 너희들에게

감사)

답변

0

귀하의 질문이 조금 애매하지만, 나는이 당신을 위해 무엇을 찾고있는 생각 :

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 서버의 호스트 구성 안에 같은 규칙을 배치하는 것을 선호한다. 이러한 파일은 오류가 발생하기 쉽고 디버깅하기가 어렵 기 때문에 서버 속도가 느려집니다. 그것들은 당신이 호스트 구성 (정말로 싸구려 호스팅 서비스 제공자를 읽음)을 제어하지 못하거나 자신의 재 작성 규칙을 작성하는 것에 의존하는 응용 프로그램을 가지고있는 경우에만 마지막 옵션으로 제공됩니다 (명백한 보안 악몽입니다)).

관련 문제