私はこの2つのコードの違いを理解しようと非常に努力しましたが、見つけられませんでした。私はURLから ".html"拡張子を削除しようとしていますが、私はいつも2つの異なるコードが異なるウェブサイトから使用されているのを見ています。これら2つの.htaccessコードの違いは何ですか?
最初のコードは次のとおりです。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ http://example.com/$1 [R=301,L]
第二のコードは次のとおりです。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html
私の理解から、最初のコードは、その.htmlのパス(例えばになるために使用される任意の文字を置き換えるようです。example.com.com/home.html).html拡張子なしで置き換えることができます(例:example.com/home)。しかし、多くの異なるウェブサイトで、どちらも今後も引き続き登場するようです。だからこそ私は、誰もが両者の違いを知っているかどうか、これらのコードの両方が実際に意味するものを知りたいのですか?
ご協力いただければ幸いです。
これも私が思ったことですが、多くのWebサイトでは、2番目のコードは、最後に.htmlを削除すると述べています。 –
これは、特定の観点から、真実です。それは、 '.html'を使わないURLを動作させます。 – Quentin
技術的には両方のコードが機能しますか?または、最初の方が信頼性が高いですか? –