私はちょうどSSL証明書を追加したウェブサイトを持っています。私は、HTTPSバージョンにすべての非HTTPS URLをリダイレクトするように.htaccessファイルには、以下の追加:301 HTTPSにリダイレクトすると、ホームページ以外の非HTTPSページがホームページにリダイレクトされる
:私もWWWのバージョンにリダイレクトするために、サイトのすべての非のwwwバージョンを望んでいたRewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.myurl.co.uk [R=301,L]
ので、私は次を追加しました
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ^myurl.co.uk
RewriteRule ^(.*)$ https://www.myurl.co.uk/$1 [R=301,L]
次に、SEOを手助けするために、私はURLの書き換えを有効にしています(私が使用しているJoomlaで)ので、https://www.myurl.co.uk/index.php/about
の代わりにhttps://www.myurl.co.uk/about
と表示されます。
しかし、私のサイトへのリンクがクリックされると(たとえばGoogleから)、古いURL構造を使用すると、クリックしたページの代わりにホームページにアクセスすることになります。したがって、www.myurl.co.uk/index.php/about
をクリックした訪問者はhttps://www.myurl.co.uk/about
に移動する必要がありますが、代わりに直接https://www.myurl.co.uk
(ホームページ)に直接移動します。
私は私のサイト上でページごとに次の項目を追加してみました:
Redirect 301 /index.php/about https://www.myurl.co.uk/about
...しかし、これは問題を解決しませんでした。
私は非常に.htaccessに慣れていません。ここでどこが間違っていますか?すべての3つの要件を満たすための
RewriteRule ^(。*)$ https://www.myurlに 'RewriteRule ^(。*)$ https://www.myurl.co.uk [R = 301、L] 'を変更します。 .co.uk/$ 1 [R = 301、L] 'のように2番目のルール(' $ 1'がキー)です。次に、これらの仕組みを読んでください。 :-) – ceejayoz
とあなたのキャッシュをクリアすることを忘れないでください!キャッシュされたURLのバージョンが表示されている可能性があります。 – Lag
@ceejayozは完璧に動作しました。どうもありがとう。 – hypnocyst