URL 用 htaccess 重写以获得尾随 /

URL rewrite with htaccess to get trailing /

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^index\.html$ / [R=301,L]
RewriteRule ^(.*)/index\.html$ // [R=301,L]

## hide .php extension
# To externally redirect /dir/foo.html to /dir/foo

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.html
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_FILENAME}.html [L]

我使用上面的代码片段 URL 按照 Removing .php file extension with .htaccess file 中的建议重新编写。但是我无法将训练 / 添加到 URL

例如 www.somewebsite.com/contact 到 www.somewebsite.com/contact/

我要纠正什么?

这样说:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteRule ^index\.html$ / [R=301,L]

RewriteRule ^(.+?)/index\.html$ / [NE,R=302,L]

## hide .php extension
# To externally redirect /dir/foo.html to /dir/foo    
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1/ [R,L,NC]

# add trailing extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} \s/+(.*?)[^/][?\s]
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=302,NE]

## To internally redirect /dir/foo to /dir/foo.html
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^ %{REQUEST_FILENAME}.html [L]