2011-11-27 5 views
0

내 PHP 웹 사이트는 동적 URL을 사용하고 Apache에서 실행됩니다. 이 웹 사이트는 네덜란드어와 영어로 볼 수 있습니다. 기본값은 네덜란드어이지만 사람들이 방문하면 기본적으로 영어 버전을 보길 원합니다. http://example.com 영어 버전은 http://example.com/en으로 볼 수 있지만이 URL은 동적 URL이고/en 디렉토리는 실제 존재하지 않습니다. 301 리디렉션을 할 수는 있지만 사용자가 URL을 보지 못하도록하고 싶습니다. Apache URL이 동적 URL로 다시 작성

RewriteEngine on 
RewriteRule ^/(.*)$ /en [NC] 

불행하게도이 전혀 작동하지 않습니다

이것은 내가 지금까지 내 가상 호스트 설정에있는 것입니다. .com 도메인을 방문 할 때 나는 여전히 네덜란드어 페이지를 보게됩니다. 누군가 내 목표를 달성하기 위해 올바른 재 작성을 알고 있습니까? 내 아파치 가상 호스트 설정 파일에서 규칙을 선호합니다.

답변

0

당신은가 someting LKE 시도 할 수

 
RewriteRule !^[a-z]{2}/ /en%{REQUEST_URI} [L,R=301] 

당신

+0

빠른 응답을 가져 주셔서 감사합니다. 유감스럽게도 제공 한 규칙에 따라/en/en/en/en 등으로의 무한 리디렉션 루프가 발생합니다. – user1067807

0

가능한 모든 플래그 자세한 사항 http://httpd.apache.org/docs/current/rewrite/flags.html에서보세요 위해 작동 바랍니다./en은 실제로 존재하지 않기 때문에 P 또는 PT를 사용해야 할 수도 있으므로 다른 규칙은 다시 작성한 후에 평가됩니다.

원래 URI를 리디렉션의 일부로 유지하려고 할 수 있습니다.

RewriteRule ^/(.*) /en/$1 [NC] 
관련 문제