問題タブ [errordocument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - .htaccess クロスブラウザ
Linux サーバーで .htaccess ファイルを使用して 404 エラーのカスタム エラー ドキュメントを読み込もうとすると、ページは現在のページ URL を取得し、データベースから取得した ID に基づいて別のサイト (データベースから取得したもの) にリダイレクトします。 URL。
現在のエラー ドキュメントは次の場所に保存されます。
/error_docs/ - 既にそこにある HTML ファイル以外のものをアップロードする権限がありません
/HTTPDocs/301redir.php は、.htaccess ファイルがあるサイト ルートです。
私は以下を使用して 301redir.php ページをエラー ドキュメントとしてロードしました。これは FF では機能しますが、他のブラウザーでは機能しません。
ErrorDocument 404 /310redir.php
.htaccess を使用することが、これを変更するための唯一の現実的なオプションです。この問題を回避し、すべてのブラウザーで機能させる方法はありますか?
php - PHPスクリプト内で設定されたエラーステータスをさらに処理するためにApacheを使用するにはどうすればよいですか?
私の環境は次のとおりです。apache2handlerとしてインストールされたPHP5.2との共有ホスティング
ErrorDocumentsを構成しました:
ただし、PHPマニュアルの最も単純な例では、Apache2と連携して、準拠したエラー処理を実行する必要はありません。
このコードを修正して指定されたエラーをトリガーし、Apacheに分類させるにはどうすればよいですか?
php - ErrorDocumentが.htaccessで機能していないようです
誰かアドバイスしてもらえますか?私のサイトへの訪問者のデフォルトページをindex.phpにしたいのですが、存在しないすべてのページについては、訪問者にerrordoc.phpが表示されます。
だから私はこれを.htaccessに入れました:
残念ながら、エラーを含め、すべてがindex.phpに送られます。友達のグーグルに聞いてみましたが、今日は彼の休日です!
php - 存在しないサブドメインのエラーページを作成する
私のサイトの1つにいくつかのサブドメインがあります。誰かが存在しないサブドメインにアクセスした場合、メインドメインの404ページにリダイレクトしたいと思います。
noexist.example.com-> example.com/404.php?subdomain=noexist(または、HTTP_REFERRERがその情報を提供できる場合はクエリ文字列なし)
cPanelがインストールされたVPSでLAMPを実行しています。WHMを介してドメインのDNSゾーンファイルを編集できます。
apache - ErrorDocument がローカル ファイルで機能しない
Tomcat 6.0.18 で実行している Web アプリに取り組んでおり、リバース プロキシとして Apache 2 を使用しています。これはうまくいきます。また、たとえば、再展開などのためにTomcatをシャットダウンしたときに、Apacheにエラーページを表示させようとしています。ただし、ErrorDocument
httpd.confのディレクティブはローカルファイルに対してまったく機能していないようです。外部 URL と文字列を試してみましたが、どちらの場合も問題なく動作します。ただし、以下は機能しません。
Oops.html ファイルは htdocs フォルダーにあります。Tomcat が実行されていないが、httpd が実行されているときにアプリにアクセスしようとしたときの httpd からのログ出力を次に示します。
.htaccess ファイルを使用していないことに注意してください。htdocsフォルダ関連の設定に問題があるようです。以下は、htdocs forer に関係する httpd.conf ファイルの一部です。私は Apache を使用するのが初めてなので、これがどれほど関連性があるか、またはもっと投稿する必要があるかどうかはわかりません。
どんな助けでも大歓迎です!
編集:
Tomcat の実行中に、エラー ログに次の行が表示されます。
何かが正しく構成されていませんが、何をどこに持っているかわかりません。これまでの回答に感謝しますが、まだ困惑しています。
.htaccess - How to combine ErrorDocument and redirect in htaccess?
I have a very simple 5 page static site.
Instead of a 404, I want to do a 301 redirect to the index page whenever a visitor accesses a page that doesn't exist. I tried something like this:
but that doesn't seem to work. How would I get it to do a 301 redirect to the index page?
php - カスタム404ページ-PHP
このページに表示したいメッセージを除いて、正常に機能するカスタム404ページがあります。
見つからないページのURLを言いたいのですが、代わりに404ページのURLが表示されます。
これが私が持っているものです...
You were looking for <?php echo $_SERVER['REQUEST_URI'] ?>.
htaccessファイルには次の行が含まれています。ErrorDocument 404 /404/
php - ApacheのErrorDocumentディレクティブはリダイレクトしません
Apacheがユーザーにスローする可能性のあるほとんどすべてのエラーをキャッチし、そのユーザーをエラーコントローラーにリダイレクトするために、.htaccessファイルに多数のErrorDocumentディレクティブがあります。これにより、エラーがよりユーザーフレンドリーな方法でレンダリングされます。しかし、それはうまくいかないようです。
たとえば、mysite.com / "" ## $ ## $!のような無効なURLを入力すると、errors.phpファイルへのリダイレクトではなく、常にApacheのデフォルトの403エラーメッセージが表示されます。以下は私が使用しているディレクティブです。それを機能させるために何か他のことをする必要がありますか?(AllowOverride Allが設定されています)
これが絶対カスタムエラー処理にアプローチする間違った方法である場合は、私に知らせてください。正しい方向に微調整していただければ幸いです。
ありがとうございました!
編集:ああ、私がこれについて言及すると思っただけです。リクエストをリダイレクトするための独自のMVC構造を作成しましたが、これはうまく機能します。PHP内から、ユーザーが存在しないURLを要求した場合、私自身の404エラーは問題なく発生します(または私が定義した他のエラー)。つまり、基本的に、mysite.com/!!!!と入力すると URLに挿入すると、機能し、404が返されます。ただし、二重引用符でリクエストを開始すると、デフォルトのApache403エラーが発生します。奇数。また、500エラーはerrors.phpへのリダイレクトにも失敗し、デフォルトのApache 500画面を返すだけです(たとえば、header( "HTTP / 1.0 500 Internal Server Error"); die();)でテストする場合。
編集3:ErrorDocument 200 "message"
.htaccessファイルに入れようとしましたが、何も起こりませんでした。開いたページはすべて正常に開きます。最悪のシナリオでは、これは無限ループでスタックするはずです。最良のシナリオでは、「メッセージ」を出力する必要があります。それはどちらもしませんでした、それは単にErrorDocumentを無視しました。Apacheのアクセスログには通常の200OKヘッダーが記録されていますが、.htaccessでは完全に無視されていました。
ruby-on-rails - Rails以外のURL用のRails404ハンドラー
私は、Ruby on Rails 3.0に移植している、数百の散在するHTMLファイルと非フレームワークPHPファイルを含むサイトを継承しました。
Railsアプリに機能が追加されると、対応するページがドキュメントルートから削除されます。ただし、Googleや外部サイトからこれらへのリンクが頻繁に存在するため、404を返すだけでは受け入れられません。
たとえば、「/ contact.php」のようなURLは、「/ app /contact/」にリダイレクトする必要があります。
この最初のいくつかのケースでは、リダイレクトを実行するためのメタタグを使用して、古い場所に単純なスタブhtmlファイルを作成しました。これは、特に何千もの製品ページを置き換え始めたら、うまく拡張できません。
私の好みは、古いページを削除してから、404ハンドラーにこれらを新しいRailsアプリにディスパッチさせることです。このアプリは、正規表現とデータベースルックアップを使用してURLを調べ、置換ページが何であるかを調べてから、それに301リダイレクトを発行します。新しいページ。
httpd.confに、ディレクティブを配置しました。
「http:// localhost / does-not-exist」を押すと、期待どおりにErrorControllerが呼び出されます。
ただし、コントローラー内で、request、request.headers、またはENVのどこにも元のパス( "/ does-not-exist")が見つかりません-request.request_uri(/ app /を含む)のような可能性のあるメソッドを呼び出していますerror / handle404)、および予期された元のパスを見つけずにrequest.headersとENVを調べます。
Apache access_logは、/ does-not-existのリクエストのみを表示し、/ app / error / handle404を透過的に呼び出したことを示します(リダイレクトを実行したり、2番目のリクエストを作成したりすることはありません)。
元のURLにアクセスするにはどうすればよいですか?
編集:明確にするために、ここに一連のイベントがあります:
- ユーザーはhttp://mysite/foo.phpのようなレガシーパスにヒットします。これは、おそらくブログの古いリンクから来ています。
- ...しかし、foo.phpはもう存在しません!
- これは404であるため、ApacheはErrorDocumentを呼び出します
- ディレクティブは「ErrorDocument404/railsapp / error/handle404」です。
- RailsはこれをErrorControllerアクション「handle404」にルーティングします-これは正しく機能しています
- 問題: ErrorControllerでは、request.request.uri、request.headersは、「/ foo.php」のように、ユーザーが実際にアクセスしようとしたURLに関する手がかりを提供しません。適切な置換ページを提供するには、元のURLを知る必要があります。
php - .htaccess で ErrorDocument 404 を設定すると、jQuery の AJAX 呼び出しでエラーが発生しなくなります
さて、.htaccess を使用して、さまざまなエラー コードの ErrorDocuments を設定しようとしました。次の jQuery AJAX コードが error() 関数を実行しないことを除けば、うまく機能します。
何か提案はありますか?私はその理由を知っていると思います: .htaccess はすべてのエラーを次のように指摘します:
また、 /error.php には次のものがあります。
したがって、index.php に転送すると、おそらく 404 ドキュメント ステータスが失われます。
何を提案しますか?