1

「m」を作成してテストしようとしています。私が取り組んでいるウェブサイトのサブドメイン。「m.domain.com」は単に「domain.com」の cname であり、サーバー側のブール値を設定するために使用されるため、サイトのモバイル バージョンはまったく同じページを提供しますが、CSS とスクリプトが異なります。

テスト中に、m.domain.com に対するすべての要求に対してパスワードを要求したいと考えています。環境変数ソリューションでいくつかの .htaccess バリアントを試しましたが、これが現在の状態です。

SetEnvIfNoCase Host m\.domain\.com is_mobile

AuthType basic
AuthName "Mobile site"
AuthUserFile ".htpasswd"
Require valid-user

Order allow,deny
Allow from all
Deny from env=is_mobile
Satisfy any

このコードでは、「domain.com」と「www.domain.com」が正常に表示されます。「m.domain.com」は、予想どおりパスワードの入力を求めます。ただし、一度入力すると、サーバーはすべての要求に対して 500 エラーを返します。

4

1 に答える 1

1

さて、少しの反転と並べ替えがうまくいったことがわかりました。

SetEnvIfNoCase Host ^(www\.)domain\.com$ not_mobile

AuthType basic
AuthName "Mobile site"
AuthUserFile ".htpasswd"

Order deny,allow
Deny from all
Allow from env=not_mobile
Require valid-user
Satisfy any

他の構成で500エラーが発生した理由を知りたいのですが、特にパスワードで保護したいサブドメインでのみ発生したためです。

于 2012-07-24T13:06:07.503 に答える