私は本当に下記のあなたの助けに感謝します。私はグーグル・グーグルとテスト・コードでエラーを試行していますが、私はゆっくりと物事を理解していると信じていますが、結果と学習の開発の両方でファスト・トラック・アシスタンスに感謝します。.htaccessで悩む(Godaddy Linux Hosting)
私は現在、GoDaddyは通じapacheのLinuxサーバ上の共有リソース上にホストされているウェブサイトを持っています。私は、次のことを達成しようとしています。 -
1)WWWに非WWWトラフィックをリダイレクトします。
2)の.htmlファイルの拡張子を削除し、ウェブアドレスを末尾にスラッシュを追加します。
私は現在以下のコードを持っています。リダイレクトが機能し、末尾のスラッシュも機能しています。しかし、私はどのように私はコードでこの問題を解決して行くん
www.swiftcomm.co.uk/contact/;-すなわちサブページで404エラーを取得していますか?
Options +FollowSymlinks -MultiViews -Indexes
RewriteEngine on
# Redirect to domain with www.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Same for HTTPS:
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Ensure all directory URLs have a trailing slash.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{REQUEST_URI} !\/[^\/]*\.[^\/]+$
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]
# Same for HTTPS:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{REQUEST_URI} !\/[^\/]*\.[^\/]+$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301]
使用しているコードの多くは多少不要です。 HTTPSのwwwルールは1つにまとめることができます。また、スラッシュの末尾にHTTPSチェックを行う必要はありません。しかし、私の質問はこれです:あなたは、HTMLの拡張子を削除し、後続のスラッシュを強制したい。 htmlファイルはまだ存在していますか、それらに書き直しますか?したがって、 '/ contact /'を要求すると '/ contact.html'が提供されます。 (あなたの意図はあまり明確ではないので、私は尋ねる必要があります。) –
マイク、応答ありがとう。私は最終的にswiftcomm.co.uk/contactを入力するとwww.swiftcomm.co.uk/contact/にリダイレクトすることを強制しようとしています。これはルートディレクトリのcontact.htmlページで処理されます。これはもっと意味があると思う? –
それは、すぐに答えます。 –