URLから.htmlを削除するための.htaccessファイルが機能しない

Aug 08 2019

ページのURLにある.htmlを削除しようとしていますが、.htaccessファイルのコードが唯一の方法であり、ほぼすべての方法とコードをオンラインで試しましたが、うまくいきませんでした。作業。

.htaccessファイルを作成し、public_htmlファイルに配置しました。私が使用している一般的なコードは次のとおりです。

RewriteEngine On RewriteCond%{REQUEST_FILENAME}!-f RewriteRule ^([^。] +)$ $1.html [NC、L]

しかし、私はコードの他の多くのバリエーションを試したので、問題はコードではなく、ファイルがWebサイトにロードされる方法にあると思いますか?

はい、すべてのhrefは.htmlなしで短縮されます:ex / <li><a href="/contact">Contact</a></li>

主なエラーは、常に404エラーが発生することです。ex/ website.com / contactのページにアクセスしようとすると見つかりません。しかし、website.com / contact.htmlは正常に機能するか、取得/エラーが発生しません

ホストされているWebサイトとvscodeライブサーバーを介したテストの両方でこれを試しましたが、どういうわけか.htaccessファイルではない問題だと思いますか?このソリューションは私以外のほとんどすべての人に有効なので。

回答

1 JackSparrow Aug 08 2019 at 17:54
#remove html file extension-e.g. https://example.com/file.html will become https://example.com/file
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [NC,L]

私のために働いたのは、plothostから、あなたは行を逃しているようです。