2015-11-25 18 views
5

これが尋ねられたら謝罪...良い答えが見つかりませんでした。そこにこのコードを示し、いくつかのASPのチュートリアルです:ASP.Netを使用して404ページから新しいページにリダイレクト

<% 
    Response.Redirect "http://www.w3schools.com" 
    %> 

はなく、元のファイルが非existantであればどこででそのコードを置けばいいの?人々が古いファイルにアクセスしようとすると、元のファイルをコードに入れて、古いファイルから新しいファイルに移動するようサーバーに指示する必要はありませんか?

私は、.htaccessファイルでPHPを使ってリダイレクトを受け入れることができるサーバーのリダイレクトを行う方法を知っています。しかし、私が取り組んでいるこのサイトは、通常動作するコードを受け入れません。

404ページには次の情報が表示されます。

'/ pagehere'アプリケーションでサーバーエラーが発生しました。 リソースが見つかりません。 説明:HTTP 404。探しているリソース(またはその依存関係の1つ)が削除されているか、名前が変更されているか、一時的に使用できない可能性があります。次のURLを確認し、正しく入力されていることを確認してください。

要求されたURL:/ pagehere

バージョン情報:Microsoft .NET Frameworkのバージョン:4.0.30319; ASP.NETバージョン:4.0.30319.34280

oldpage.phpからnewpage.phpへのリダイレクトを行いたいと思います。 oldpage.phpはもはや存在しません。

ホワイトファイルリダイレクトにはどのようなコードを作成または編集しますか?ありがとう!

+0

リクエストされたURLを使用し、新しい場所にリダイレクトするカスタムエラーページを設定できます。しかし、なぜ元のファイルはもはや最初の場所で利用できないでしょうか?配備の一部ではありませんか? – Dbuggy

+1

[IIS URLリライタ](http://www.iis.net/downloads/microsoft/url-rewrite)を確認してください。それはまさにあなたが必要とするものです。 –

+0

ファイルを削除したり、別の場所に移動したりすることができます。私のサイトではありません。私はちょうどそれで仕事をしています。ファイルの場所はまだ索引付けされているため、SEOの練習はファイルを新しい場所にリダイレクトするか、目的の場所を実行することです。質問は「なぜ元のファイルが存在しないのですか」であってはなりませんか?私はちょうどリダイレクトコードを使用すると、どのファイルをコードを入れて知る必要があります。ファイルは任意のウェブサイト上で削除または移動することができます。そのため、404と301のステータスコードが存在します。 – thomas

答えて

1

web.configを制御できる場合は、永続的なリダイレクトを追加できます。

まともなクイックリファレンスでは、個々のリダイレクトを行うことができ、そのサイトからhttps://www.stokia.com/support/misc/web-config-response-redirect.aspx

です。

<configuration> 
    <location path="bing.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://bing.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
    <location path="google.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://google.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
    <location path="yahoo.htm"> 
     <system.webServer> 
      <httpRedirect enabled="true" destination="http://yahoo.com" httpResponseStatus="Permanent" /> 
     </system.webServer> 
    </location> 
</configuration> 

ここでは、locationタグの下 oldpage.html を置きます。

<location path="oldpage.html"> 

その後、あなたはhttpRedirectタグuder newpage.htmlを置きます。

<httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" /> 

このように組み合わせてください。

<location path="oldpage.html"> 
    <system.webServer> 
     <httpRedirect enabled="true" destination="newpage.html" httpResponseStatus="Permanent" /> 
    </system.webServer> 
</location> 
+0

**元** URLはどこにあるのですか?ユーザーがoldpage.htmlをクリックした場合、古いページが新しいページにリダイレクトされるようにコードをどのように編集しますか? oldpage.htmlからnewpage.htmlへあなたのコードは目的地を表示しますが、発信地は表示しません。サーバーは私にweb.configファイルを表示するので、私はそれを制御できると仮定します。私はリダイレクトを.htaccess経由でやろうとしていましたが、うまくいきませんでした(私はhtaccessがaspでうまく動作しないと仮定しています)。 – thomas

+0

私はいくつかの詳細で答えを更新しました。基本的に、元のページを 'location'タグの中に置き、' httpRedirect'の下に宛先を置きます。 IISを使用している場合、ほとんどの場合、.htaccessは利用できません。 – Kirk

+0

試してみると500エラーが出る。これはweb.configファイルの外観です。セキュリティ上の理由から一部のデータを削除したことに注意してください。 http://pastebin.com/FWKLuM9jそのリダイレクトコードをどこに置くべきかを調べようとしています。私は ''の上に ''タグを、 ''の下に ''タグを入れましたが、メンテナンスのために500エラーが発生しました。 – thomas

関連する問題