web-dev-qa-db-ja.com

ASPページのHTMLへの301リダイレクト

そのため、.aspページのみで構成されたサイトを再設計し、.htmlページを使用してサイトを再設計しました。古いサイトを削除して新しいサイトをアップロードし、次のコードに沿って.htaccessファイルをアップロードしました。

Redirect 301 /studio.asp /studio.html

等.

Googleのエントリをクリックすると、古い/studio.aspページが/studio.htmlにリダイレクトされると思っていましたが、そうではありませんか?何が悪いのですか?再設計では、ファイル名と古い構造をできるだけ同じにしようとしたが、それでも古い.aspページが表示される。それとも、ここで何かを完全に逃しましたか?リダイレクトが機能するために、古いサイトはまだ稼働している必要がありますか?古いファイル拡張子が.aspであることも重要ですか?それはまだ同じURLにもあります。

2
mhcoder36

古い.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でエンコードする必要があります。

  1. Macにファイル拡張子が表示されていることを確認します。
    https://www.idownloadblog.com/2014/10/29/how-to-show-or-hide-filename-extensions-in-os-x-yosemite/

  2. TextEditがプレーンテキストファイルを編集するように設定されていることを確認します。
    https://youtu.be/zCN75v4Bbdk

正しいファイル名でローカルにファイルを再作成します。サーバー上の誤った名前のファイルを削除して、再アップロードしてください!

(サイトの他のすべてのファイルをどのように編集してアップロードしましたか?!)

1
MrWhite