2014-02-19 6 views
1

영어 웹 사이트가 있습니다. 이제이 웹 사이트의 번역본을 독일어로 번역하고 싶습니다..htaccess - 기본 언어에 따라 하위 폴더로 리디렉션

된 index.html이 루트 폴더에 있습니다 www.mydomain.com/index.html

가 지금은 자신의 브라우저에서 원하는 언어를 설정 한 모든 사용자를 리디렉션 htaccess로 파일을 만들려면 www.mydomain.com/de/index.html에서 독일어 (de, de-de, de-at, de-ch) 다른 모든 사용자는 www.mydomain.com/en/index.html로 리디렉션되어야합니다.

많은 시도를했지만 제대로 작동하지 않습니다. 나는 정규 표현식과 그것의 사용법을 정말로 이해하지 못한다. 대부분의 시도는 오류 403 또는 500으로 끝났습니다. 현재 htaccess는 오류로 끝나지 않지만 작동하지 않습니다.

htaccess로

는 지금 : 파일이 전혀 작동하지 않는 것처럼

Options -Indexes +FollowSymLinks 

RewriteEngine On 

RewriteCond %{HTTP:Accept-Language} ^de [NC] 
RewriteRule ^/(.*)$ /de/$1 [L] 

RewriteRule ^/(.*)$ /en/$1 [L] 

것 같다. 내가 www.mydomain.com을 열 때 열립니다 www.mydomain.com/index.html 일반적으로

htaccess로 및 재 작성 작업 :

RewriteRule ^(.*)$ http://www.google.com/ [R=301,L] 

작품.

내가^

RewriteRule ^(.*)$ /en/$1 [L] 

뒤에 슬래시를 삭제하면 내가 무엇이 잘못 오류를해야합니까 (500)

거야?

실제로 서버가 사용자가 열려고 시도한 웹 페이지로 리디렉션하려고합니다. 따라서 사용자가 mydomain.com/index2.html을 열면 mydomain.com/xx/index2.html로 리디렉션되어야합니다 (index.html 제외)

아이디어가 있으십니까?

Options -Indexes +FollowSymLinks 

RewriteEngine On 

RewriteRule ^(en|de)/ - [L,NC] 

RewriteCond %{HTTP:Accept-Language} ^de [NC] 
RewriteRule ^(.*)$ /de/$1 [L] 

RewriteRule ^(.*)$ /en/$1 [L] 

답변

0

감사합니다,

야로슬라프? :) 이제 나는 빈 페이지를 얻는다.

+0

이 어떻게 그렇게 빨리 입력 할 수 있습니다 : 당신은이 규칙을 사용할 수 있습니다 –

+0

업데이트 된 코드를 시도하고 Firebug에서 이것을 테스트하여 현재 사용중인 http 상태를 확인하십시오. – anubhava

+0

같은 문제가 발생했습니다. Firebugs는 200 OK라고 표시하고 빈 html 문서가 표시됩니다. –

관련 문제