URL에서 후행 슬래시 제거하지만 htaccess의 특정 경우에 보존하십시오.
-
02-01-2020 - |
문제
URL 이후에 슬래시를 제거하는 방법을 알고 있으며 추가 방법을 알고 있습니다 :
# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ /$1 [L,R=301]
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]
.
원하는 것은 모든 URL이 끝에 슬래시가 없도록 모든 슬래시를 제거하는 것입니다. 그러나 하나의 경우 URL에는 슬래시가 포함되어야합니다.
1.)이 경우에만 슬래시를 추가해야합니다.
example.com/ko -> example.com/ko /
2.) 다른 경우 슬래시를 제거해야합니다 :
example.com/us/ -> example.com/us
example.com/ko/product/ -> example.com/ko/kroduct
.htaccess 규칙을 사용하는 방법은 무엇입니까?
해결책
그것은 이상한 질문입니다.
어쨌든, 당신은이 코드를 htaccess (root
폴더에 있어야 함)
RewriteEngine on
# add trailing slash when url is /en
RewriteRule ^en$ /en/ [R=301,L]
# otherwise, remove trailing slash (except for /en/ and existing folders)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/en/$ [NC]
RewriteRule ^(.+)/$ /$1 [R=301,L]
. 제휴하지 않습니다 StackOverflow