2014-04-16 1 views
0

URL에 언어 코드 (en/es)를 구현하여 다국어 지원을 위해 노력하고 있습니다. 지금까지 제대로 작동 했으므로 모든 링크가 자동으로 선택한 언어로 전환됩니다. 홈 페이지를 제외하고.mod_rewrite가 링크 시스템에 영향을 미치지 않음

mydomain.com/en/staff.php이라는 링크는 올바른 언어로 표시되며 모든 링크가 자동으로 작동합니다 (예 : en/home.php).

후행 슬래시를 잊어 버리면 그 일을하지 않는 사람이 집입니다. mydomain.com/en/은 완벽하게 작동하지만 mydomain.com/en (슬래시 없음)은 링크를 제대로 업데이트하지 않습니다.

mod_rewrite를 사용하는 방법이 있습니까? 아니면 HTML에 수동으로 링크를 작성해야합니까?

Options -MultiViews 
RewriteEngine on 
RewriteBase/

RewriteRule ^([a-zA-Z]{2})/?$ index.php?lang=$1 [QSA,L] 
RewriteRule ^([a-zA-Z]{2})/(\w+)\.php $2.php?lang=$1 [QSA,L] 

답변

0

당신은 당신의 루트의 .htaccess에 슬래시를 장소이 규칙을 후행 을 적용하는 규칙을 사용할 수 있습니다

DirectorySlash On 
Options -MultiViews 
RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301] 

RewriteRule ^([a-zA-Z]{2})/$ index.php?lang=$1 [QSA,L] 
RewriteRule ^([a-zA-Z]{2})/(\w+)\.php$ $2.php?lang=$1 [QSA,L] 
+0

이 지금 리디렉션 루프 선도 :(내 전체 modrewrite를 추가했습니다 파일이 중요한 경우를 위해 –

+0

업데이트를 시도하십시오 .htaccess – anubhava

+0

아니요, 이제 열려고합니다. http://mydomain.com/mydomain/.errordocs/404.html/ –

관련 문제