以下のコードを使用して、index.html および非 www バージョンの URL を www にリダイレクトしています。また、ファイルから *.html 拡張子を削除します。ここで、すべてのディレクトリのファイルの末尾に末尾のスラッシュを追加したいと思います。以下は、私が取得したいものの例です。
- www.mydomain.com.au/contact.html は www.mydomain.com.au/contact/ に移動します
- www.mydomain.com.au/contact は www.mydomain.com.au/contact/ に移動します
- www.mydomain.com.au/glass-replacement/Brisbane.html は /glass-replacement/Brisbane/ に移動します
などなど…
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^.*\/index\.html\ HTTP/
RewriteRule ^(.*)index\.html$ /$1 [R=301,L]
RewriteCond %{http_host} ^mydomain.com.au$ [nc]
RewriteRule ^(.*)$ http://www.mydomain.com.au/$1 [r=301,nc,L]
RewriteCond %{THE_REQUEST} \ /(.+/)?index(\.html)?(\?.*)?\ [NC]
RewriteRule ^(.+/)?index(\.html)?$ /%1 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.+)\.html$ /$1 [R=301,L]
RewriteCond %{SCRIPT_FILENAME}.html -f
RewriteRule [^/]$ %{REQUEST_URI}.html [QSA,L]
事前にご協力いただきありがとうございます