質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
BASIC

BASICとは、手続き型言語の一つ。英語に準した簡易な記述になっており、基本的には初心者向けのプログラミング言語です。1970年代以降のコンピュータでよく使用された言語で、様々な拡張を加え現在も利用されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

2回答

4501閲覧

iOS10でカスタマイズした401エラーページが表示されない

ma.sa

総合スコア11

BASIC

BASICとは、手続き型言語の一つ。英語に準した簡易な記述になっており、基本的には初心者向けのプログラミング言語です。1970年代以降のコンピュータでよく使用された言語で、様々な拡張を加え現在も利用されています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2017/01/30 07:16

###前提・実現したいこと
iOS10 safariでBasic認証をかけたページでユーザー名・パスワードが違う(または未入力)場合に、カスタマイズした401ページを表示させたいです。

この環境でのみ上手く表示できませんでした。

###発生している問題・エラーメッセージ
ユーザー名とパスワードを入力するダイアログは表示されるが、そこで何も入力せずキャンセルをタップした場合、401エラーページは表示されず、白紙ページになってしまう。

カスタマイズしない場合は、iOS10 safariでもサーバーの用意したエラーページ(英語で書かれた401ページ)が表示されていました。

###試したこと
問題なくカスタマイズした401ページが表示できたブラウザは
Windows10 (Chrome/Firefox/IE11/Edge)
Mac OSX (Chrome/Firefox/Safari)
Android 6.0 (Chrome/Firefox)
です。

###設置状況
レンタルサーバー:さくらインターネット(スタンダード)

www(全体にBasic認証でアクセス制限) ├index.html←ここにアクセス ├.htaccess(a) ├.htpasswd └[error](このディレクトリのみアクセス制限除外) ├ 401.html └.htaccess(b)

###該当のソースコード
.htaccessはサーバーで自動生成されるコードと検索などで見つけたコードを参考に作成しました。

.htaccess(a)

DirectoryIndex index.html index.htm index.shtml index.php index.cgi .ht AuthUserFile /home/******/www/.htpasswd AuthType Basic AuthName "Web access" Require valid-user Satisfy all Order deny,allow ErrorDocument 401 /error/401.html

.htaccess(b)

Satisfy any order allow,deny allow from all SetEnvIf User-Agent "Googlebot" shutout SetEnvIf User-Agent "Slurp" shutout SetEnvIf User-Agent "msnbot" shutout order Allow,Deny Allow from all Deny from env=shutout

以上です。
ご教授のほどよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

根本的に解決していませんが、わかったことは下記の通りです。
動作を確認した結果です。

iphone7+Basic認証での動作
1)何も入力せずキャンセルをタップ→ページの読み込み終了、認証しない→白紙(現在閲覧のページから変わらない)

2)間違ったものを入力→401エラーページが出力されました。

1の状況をどうにかしたかったのですが…
他のブラウザとはキャンセルの挙動が異なるようです。

これ以上回答いただけそうにありませんので
質問を閉じさせていただきます。

投稿2017/02/11 11:04

ma.sa

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

MacOSのsafariでユーザーエージェントをiPhoneに設定してアクセスしてみてはどうでしょうか。
開発->ユーザーエージェントから変更できますよ

投稿2017/01/30 09:29

black_sleepman

総合スコア220

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ma.sa

2017/01/31 08:50 編集

アドバイスありがとうございます。 残念ながら、シミュレーター上は特に問題がなかったのです。 iphone7実機にて問題が起こっております。 .htaccessがどう動いているかシミュレーターでわかるのでしょうか??不勉強で申し訳ないです。 当方スクリプトなどに詳しくないため何をどうしたらよいのか検討がつかない状態なのです。 例えば、シミュレーターではこの部分を見ればわかるとか、.htaccessのこの部分があやしいなど、 具体的なアドバイスなどございましたらよろしくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問