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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

.htaccess

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

Q&A

解決済

1回答

3041閲覧

httpsからのアクセス時に.htaccessが効かないです

退会済みユーザー

退会済みユーザー

総合スコア0

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

.htaccess

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

0グッド

0クリップ

投稿2021/02/06 07:12

.htaccessファイルに以下の記述をしているのですが、
https://www.example.com」でアクセスしたときにURLが変わらない状態です。
https://example.com」となるようにしたいです。(wwwが削除された状態)

http://www.example.com」でアクセスしたときは、「https://example.com」にリダイレクトされて、
期待通りの動きとなっているのですが、https://~だとリダイレクトが効いていないようです。

サーバーはApache2.4を使用しています。

#◆.htaccessに記述している設定
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

調査をしたのですが、ssl.confに「Allowoverride all」の記述がないことが
原因ではないかと推測しております。
下記の「◆ssl.conf(変更後)」のように「Allowoverride all」を追加すれば
httpsからのアクセスでも.htaccessが動くものなのでしょうか。

知見のあるかたがいらっしゃいましたらご意見いただけますと幸いです。

#◆ssl.conf(現状)
<VirtualHost _default_:443>

DocumentRoot "/var/www/vhosts/example/html"
ServerName www.example
ServerAlias example



</VirtualHost>

#◆ssl.conf(変更後)
<VirtualHost _default_:443>

DocumentRoot "/var/www/vhosts/example/html"
ServerName www.example
ServerAlias example
<Directory "/var/www/vhosts/exampl/html">
AllowOverride All
</Directory>



</VirtualHost>

よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

そうですね。Allowoverride Noneであれば、htaccessファイルは無視されます。

httpsやwwwのリダイレクトだけであれば、VirtualHostに書いてしまうのもいいかと思います。

Apache

1# http://www.example.com http://example.com https://www.example.com をすべて 2# https://example.com にリダイレクト 3<VirtualHost *:80> 4 ServerName www.example.com 5 ServerAlias example.com 6 Redirect 301 / https://example.com/ 7</VirtualHost> 8<VirtualHost *:443> 9 ServerName www.example.com 10 Redirect 301 / https://example.com/ 11</VirtualHost> 12 13<VirtualHost _default_:443> 14 ServerName example.com 15 DocumentRoot "/var/www/vhosts/example/html" 16 ~~~~~~ 17</VirtualHost> 18 19

投稿2021/02/06 07:41

otn

総合スコア85901

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

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

退会済みユーザー

退会済みユーザー

2021/02/07 07:33

ご返信いただきありがとうございます。 一点お聞きしたいのですが、 以下のように「VirtualHost _default_:443」に 「AllowOverride All」を記述した場合、エラーとなりますでしょうか。 「<VirtualHost *:80>」に「AllowOverride All」」の記述がありますので そちらに合わせたいと考えております。 お手数ですが、 よろしくお願いいたします。 ------------------------------------------- <VirtualHost _default_:443> DocumentRoot "/var/www/vhosts/example/html" ServerName www.example ServerAlias example <Directory "/var/www/vhosts/exampl/html"> AllowOverride All </Directory> ・ ・ ・ </VirtualHost> ------------------------------------------- <VirtualHost *:80> ServerAdmin webmaster@example ServerName www.example ServerAlias example ErrorLog /var/www/vhosts/example/logs/error_log CustomLog /var/www/vhosts/example/logs/access_log combined SuexecUserGroup example example DocumentRoot /var/www/vhosts/example/html <Directory "/var/www/vhosts/example/html"> AllowOverride All </Directory> -------------------------------------------
otn

2021/02/07 07:40

問題ないと思います。 が、VirtualHost ごとに書く意味がわからない。 <Directory "/var/www/vhosts/example/html"> AllowOverride All </Directory> をVirtualHostの外に出せば、一度書くだけで済みます。 VirtualHost毎にNoneとAllを変更したいという意図があったんですかね?
退会済みユーザー

退会済みユーザー

2021/02/08 02:59

ご返信いただきありがとうございます。 >>><Directory "/var/www/vhosts/example/html"> >>>AllowOverride All >>></Directory> >>>をVirtualHostの外に出せば、一度書くだけで済みます。 ◆一度書くだけで済むのですね。  ご提案いただいた方法で変更してみます。  ありがとございます。 >>>VirtualHost毎にNoneとAllを変更したいという意図があったんですかね? ◆「Virtualhost *:80」側に記述されている「AllowOverride All」を削除するのが手間だったためです。   上記ご提案いただいた通り、一度書くのみにいたします。
退会済みユーザー

退会済みユーザー

2021/02/08 23:41

ありがとうございます。 無事解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問