.htaccessファイルに次のコンテンツがあります ルートディレクトリに配置する:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.html [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
つまり、「.html」はURLから削除されますが、末尾のスラッシュは表示されません。どうして?どうもありがとう
回答:
回答№1は0301 redirectRulesを内部rewriteRulesの前に置き、ルールのパターンにオプションの末尾スラッシュを付ける必要があります。
試してください:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/.]+)/?$ $1.html [NC,L]