기존 웹 사이트를 다국 언어로 설정하라는 요청을 받았습니다. 내가/EN/경로에서// 페이지 경로 기존의 모든 페이지를 이동해야했다이htaccess에서 조건부 리디렉션 설정
내가 지금 어떤을 보내 htaccess로 리디렉션을 설정해야합니다 기존의 들어오는 연결을 유지하려면/페이지에 대한 준비에
원래 URL의 요청을 new/en/path/page URL로 보내지 만이 작업을 수행하는 데 문제가 있습니다.
이것은 현재 가지고있는 것입니다. 내가 생각
RewriteCond %{REQUEST_URI} !^/en$ RewriteRule ^(.*)$ /en/$1 [R=301,L]
는 요청 URI를 확인하는 것을 의미하고 요청 된 URI에 다음 앞에 추가/엉 엉로/시작 ...하지만하지 않는 경우 나는 분명히이 '아무튼 이후로 착각 해요 일하지 마라. 도움을 주시면 감사하겠습니다. 고맙습니다.
업데이트. 이것이 ExpressionEngine 사이트이며, URL의 index.php를 부분을 제거하는 추가 규칙이 있기 때문에 여기에 내가 또한 index.php를 한 후 언어 재 작성에 이것을 시도
# Rewrite for new language based urls
# This is to try and get all current pages going to /en/(old url) with a 301 redirect
RewriteCond %{REQUEST_URI} !^/en(/.*)?$
RewriteRule ^(.*)$ /en/$1 [R=301,L]
# Removes index.php
RewriteCond $1 !\.(gif|jpe?g|png|ico)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
모두 규칙입니다. 나는 여전히 루프에 갇혀있다.
감사합니다. 시도해 보았지만 아직 제대로 작동하지 않습니다. 나는 여기서 뭔가 다른 것이 있다고 생각하고있다. 이것은 ExpressionEngine 구동 사이트로 htaccess를 사용하여 URL의 index.php 부분을 제거합니다. 이 질문을 업데이트하여 재 작성을 보여줄 것입니다. – foamcow
마지막 룰은 다른 (내부) 리다이렉트를 발생시키고, mod_rewrite는이 새로운 URI에 대한 룰을 다시 평가할 것이다. 여기서 첫 번째 룰은 다시 일치 할 것이다. 내 대답을 업데이트 할게. – ndm
다시 한번 감사드립니다. 나는 가능한 한 빨리 그걸 줄거야. – foamcow