우리가 현재 HTTP_ACCEPT_LANGUAGE
서버 변수를 확인하는 index.php 파일이 포함 된 웹 루트에 폴더를 만들 리디렉션 아파치/mod_rewrite를 가진 수락 - 언어를 기반으로 리디렉션하는 방법. 예 : URL을 /var/www/site/press/index.php
에서 www.example.com/press/
언어에 대한
을 위해 :
<?php
if ($_SERVER["HTTP_ACCEPT_LANGUAGE"] == "en")
header("location: ../press_en.php");
else
header("location: ../press_de.php");
?>
사이트로 성장했다, 우리는 지금 많은 그런 폴더가 있습니다.
RewriteEngine on
# Set the base path here
RewriteBase /path/to/site/
# The 'Accept-Language' header starts with 'en'
RewriteCond %{HTTP:Accept-Language} (^en) [NC]
# EN redirects
RewriteRule press(/?)$ press_en.php [L,R]
# DE redirects (for all languages not EN)
RewriteRule press(/?)$ press_de.php [L,R]
아이디어는 PHP 파일과 동일하지만, 그것은 작동하지 않습니다 나는 하나의 .htaccess 파일로 리디렉션을 이동하여이 문제를 정리하려합니다. Firefox 기본 설정에서 가능한 모든 언어 설정/주문을 시도하고 헤더가 올바른지 확인했지만 항상 press_de.php
파일을 제공합니다.
내가 무슨 일을하고 있는가, 또는 더 나은 방법은 무엇입니까? (내용 협상/MultiViews를 또는 파일 이름을 변경해야합니다 아무것도 포함하지 않는이 현재 옵션이 아닙니다).