2017-11-03 6 views
0

친숙한 URL을 다시 쓰는 htaccess 규칙이 있습니다. 모든 것이 한 가지와 별개로 작동합니다..htaccess는 하위 폴더를 다시 작성하여 색인을 생성합니다.

/fr/about.html

위 htaccess로와 /en/about.html

이 규칙이 URL은 같이 나오지 :

/fr/about

RewriteEngine On 

RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R] # <- for test, for prod use [L,R=301] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC] 
RewriteRule^%1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*?)/?$ $1.html [NC,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ./[L,R=301] 

언어 하위 폴더 사이트, 예를 들면이다/색인의 URL이

/fr

처럼 보이는 내가 좋아하는 것이 무엇

/fr/index

/en/index

,된다 /en/about

그러나이 또한 내 인덱스 페이지의 URL이 같이 의미

/en

위의 htaccess의 슬래시 부분을 존중하지만 URL에서 index을 제거한다는 의미입니다.

많은 도움을 주셨습니다. 추가

답변

0

시도 (RewriteCond %{THE_REQUEST} ^ 전에 ...) :

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*?)/index(\.html)?[\s?] [NC] 
RewriteRule^%1 [R=301,L]