No.4ベストアンサー
- 回答日時:
かなりざっくりですが、PHPのコードです。
拡張子を401.htmから401.phpに変えてください
.htaccess
ErrorDocument 401 /401.php?id=2
401.php
---------
<h2>ページへのアクセス権限がありません</h2>
<a>「<script>document.write(location.href);</script>」へのアクセス権限がありません。</a>
<div class="readid">
<?php
# idを取得
$id = filter_input(INPUT_GET, "id");
if($id == "2"){
echo "このページはreadディレクトリ内です。パスワード/ユーザー名が間違っている可能性が高いです。";
}
?>
</div>
<h3>対処方法</h3>
【省略】
</body>
No.3
- 回答日時:
401.htmの内容確認しました。
残念ながらJavaScriptでは値の取得ができません。
ErrorDocumentはリダイレクトではなく、指定のファイルを読み込みに行くという設定です。
アクセスしたURLが「http://****/basic.htm」で認証エラーになった場合、
画面に表示する内容は401.htm?id=2ですが、JavaScriptでは現在のURLはhttp://****/basic.htmと認識してます。
※ブラウザのURLを見てもらえれば分かると思います
401エラーの場合は外部URLへのリダイレクトは基本NGということなので、PHP等のプログラムを使用したほうがいいのかと思いました。
ありがとうございます。
この回答を読んで、試しに401が出たページのURLの末尾に?id=2を付けたところ、<div class="readid"></div>の中に文字列が表示されました。JavaScriptでのidのではできないことがわかりました。
PHPでやりたいのですが、どうしたらいいのでしょうか。私はPHPはリダイレクトをする方法くらいしか分からないので、できれば実際のコードも教えていただきたいです。よろしくお願いいたします。
No.2
- 回答日時:
それだと401.htmの中身に何かしらの問題がありそうですね。
私のテストで下記コードで「123です。」と返ってきてます。
----
if($_GET["a"] == "123"){
echo "123です。";
} else {
echo "違うよ";
}
----
ありがとうございます。
401.htmはこれです。
【省略】
<h2>ページへのアクセス権限がありません</h2>
<a>「<script>document.write(location.href);</script>」へのアクセス権限がありません。</a>
<div class="readid"></div>
<h3>対処方法</h3>
【省略】
</body>
<script>
const urlParams = new URLSearchParams(window.location.search);
const id = urlParams.get('id');
if (id === '2') {
document.querySelector('.readid').textContent = 'このページはreadディレクトリ内です。パスワード/ユーザー名が間違っている可能性が高いです。';
}
</script>
</html>
No.1
- 回答日時:
「上手くいきませんでした」というのはid=2が受け取れなかったということでしょうか?
こちらで試してみたところ正常に値を受け取れました。
■htaccessに下記を記述
ErrorDocument 401 /401.php?a=123
■認証が必要なURL
http://***/401/test.html
401.phpに遷移し、a=123を取得できています。
401.htmの内容が表示されずにデフォルトの401画面が表示される場合。
その401.htmファイルが要認証のディレクトリに置いてたりしますか?
リダイレクト先は認証外のディレクトリに置きましょう。
ありがとうございます。
401.htmで、id=2のときには追加で内容を表示するように、そのほかの時はすべて同じになっています。.htaccessにErrorDocument 401 /401.htm?id=2と記述しても401を意図的に出すとid=2の時に表示されるはずの部分が表示されずにid=1のときの内容しか表示されないのです。401.htmに普通にアクセスすると普通に表示され、401.htm?id=2に普通にアクセスするとちゃんと追加の内容が表示されています。401.htm?id=1でも普通に表示されます。どうしてでしょうか。教えてください。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- LINE Line Idの表示について 3 2023/09/13 21:38
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Skype スカイプのIDについておしえてください。 1 2023/04/13 08:52
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- Amazon AmazonマスターカードにiD機能を付けたいです。 iD機能のついていないAmazonマスターカー 2 2023/09/30 10:36
- タブレット 10年近く前のタブレット ログイン聞かれ動きません 3 2023/08/25 20:20
- その他(ゲーム) ポケモン乱数 色違い 伝説 HGSS(ハートゴールド・ソウルシルバー) 1 2022/05/06 13:13
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Javaって使いますか、もう古いですか?C++とどっちがいいですか?分析でC++使う授業ありましたけ
C言語・C++・C#
-
C言語について。
C言語・C++・C#
-
シェルスクリプトで最初にサブコマンド関数をいくつか定義して最後にメイン処理書くのってきしょくないです
その他(プログラミング・Web制作)
-
-
4
c#のTLS1.2での通信について
C言語・C++・C#
-
5
これの対応OSを教えて下さい。php-8.3.0-src.zip
PHP
-
6
VisualStudio2022でC言語プログラムで全角文字を使用すると不明なエラーが表示される
C言語・C++・C#
-
7
cgi アクセス制限 エラー
CGI
-
8
HTMLで画像をポップアップで表示するようにする方法
HTML・CSS
-
9
PHPでのパスワード制限のセキュリティはどうなのか
PHP
-
10
サーバーについて サーバーの仕組みがわかりません例えばgooleって外国のサーバーを経由してるんでし
サーバー
-
11
C言語について。
C言語・C++・C#
-
12
tarで纏める際に、複数場外したい場合の指定方法について
UNIX・Linux
-
13
コマンドプロンプトについて。
C言語・C++・C#
-
14
プログラミングで詰まった時って皆さんどうしていますか?
その他(プログラミング・Web制作)
-
15
C言語 バッファについて。
C言語・C++・C#
-
16
プログラマーがHTMLとCSSでウェブデザインをするのは大人の幼稚園なんじゃないかと思い込んでる
その他(プログラミング・Web制作)
-
17
サイトを保存
その他(コンピューター・テクノロジー)
-
18
C言語です
C言語・C++・C#
-
19
win11は
Windows 10
-
20
行政文書を、フロッピーで渡しますと、役所から言われてるんですが、フロッピーなんていま見れますか?ネカ
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptテキストBOX色を元に...
-
テキストエリア内の一部の文字...
-
HTMLタグに複数のクラスを設定...
-
createElementが一瞬で消えてし...
-
MAX関数を使ってからLEFT JOIN...
-
読み込んだQRコードをフォーム...
-
マウスを乗せるとメニュー表示
-
変数名をどのようにつけるのが...
-
removeEventListenerについて
-
jqueryを使って無駄なspanタグ...
-
外部ページからハッシュタグ(...
-
フッターの下に隙間ができてしまう
-
HTMLですCSSです この画像のよ...
-
背景色と連動するスライドショ...
-
スライドショー「Skitter」をカ...
-
1枚の画像をクリックすると複数...
-
web制作(HP作成について教えて...
-
textareaに画像を表示したい
-
スワップイメージのフェード方...
-
アコーディオンメニューが開い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
HTMLタグに複数のクラスを設定...
-
変数名をどのようにつけるのが...
-
401エラードキュメントを401.ht...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
タブで開いてさらにタブ内をア...
-
createElementで作成した要素を...
-
removeEventListenerについて
-
表示・非表示のスクリプトで、...
-
HTMLとJavaScriptで作ったタイ...
-
HTMLとJavaScriptで作ったタイ...
-
getElementByIdの戻り値がnull...
-
指定したパスが現URLに含まれて...
-
[急ぎ] videoタグで埋め込んだm...
-
IFRAMEの表示/非表示を切り替え...
-
iframe内のリンクが飛ばないの...
-
removeAttribute()メソッドで削...
-
背景色を透明化
-
jQueryで同じid属性が複数あっ...
おすすめ情報