そのため、.asp
ページのみで構成されたサイトを再設計し、.html
ページを使用してサイトを再設計しました。古いサイトを削除して新しいサイトをアップロードし、次のコードに沿って.htaccess
ファイルをアップロードしました。
Redirect 301 /studio.asp /studio.html
等.
Googleのエントリをクリックすると、古い/studio.asp
ページが/studio.html
にリダイレクトされると思っていましたが、そうではありませんか?何が悪いのですか?再設計では、ファイル名と古い構造をできるだけ同じにしようとしたが、それでも古い.asp
ページが表示される。それとも、ここで何かを完全に逃しましたか?リダイレクトが機能するために、古いサイトはまだ稼働している必要がありますか?古いファイル拡張子が.asp
であることも重要ですか?それはまだ同じURLにもあります。
古い.asp
ページに対して表示されている応答は、サーバー上の標準の404応答(または、見た目のフロントエンドNginxプロキシ)のように見えます。存在しないページをリクエストしても、同じ応答が返されるようです。したがって、これは.asp
ページに限定されません。この404応答は、外部のサードパーティの広告を含む「ドメイン保持」ページです。これは望ましくありませんが、ホストから強制されているものでしょうか。
編集:他の404ページをリクエストしているときに、「502 Bad Gateway」または「503 Service Unavailable」という応答がときどきありました。これも望ましくありません(そしてnormalではありません)。
ここで何が行われているかをホストに確認する必要があります。
古いURLからのリダイレクトを実装するために、古いサイトが存在する必要はありません。これが外部リダイレクトの要点です。
ホストは、彼らが「htaccessを使用できるようにするために、サイトをWindowsサーバーからLinuxサーバーに移行した」と述べました。これは、Apache(またはおそらくLiteSpeed)に移行していることを意味します。
これは「共有」サーバーだと思います。その場合、.htaccess
ファイルは既に有効になっているはずです。
.htaccess
ファイルがサイトのドキュメントルートに存在する場合、質問に投稿したRedirect
ディレクティブは次のとおりです。
Redirect 301 /studio.asp /studio.html
本当に/studio.asp
から/studio.html
にリダイレクトするために必要なすべてです。
これが発生していない場合は、ホストにこれを照会する必要があります。
UPDATE:ホストプロバイダーは、ファイルが有効になっているため、ファイルに
.rtf
拡張子があるためと考えています。問題は、デスクトップから削除したため、.htaccess
が表示されるだけですが、サーバーにアップロードすると、.htaccess.rtf
として表示されます。 ... MacでTextEditを使用しました。
はい、それは確かに問題です!ファイルがサーバー上で.htaccess.rtf
と呼ばれる場合、Apacheによってファイルが処理されることはなく、何も実行されません(これは表示されている動作です-何もありません)。それは.htaccess
と呼ばれなければなりません-これ以上;ドットを最初の文字として使用することもできます。ただし、RTF(リッチテキスト形式)ファイルとしてフォーマットすることはできません。「プレーンテキスト」、できればUTF-8でエンコードする必要があります。
Macにファイル拡張子が表示されていることを確認します。
https://www.idownloadblog.com/2014/10/29/how-to-show-or-hide-filename-extensions-in-os-x-yosemite/
TextEditがプレーンテキストファイルを編集するように設定されていることを確認します。
https://youtu.be/zCN75v4Bbdk
正しいファイル名でローカルにファイルを再作成します。サーバー上の誤った名前のファイルを削除して、再アップロードしてください!
(サイトの他のすべてのファイルをどのように編集してアップロードしましたか?!)