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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2239閲覧

さくらhttpsへのリダイレクト処理とエラーログ

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/05/17 09:12

###前提・実現したいこと
さくらレンタルサーバーを使ってhttp→httpsへのリダイレクト処理を実行したところ上手くいきませんでした。

###発生している問題・エラーメッセージ

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, ....and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

エラーメッセージ

###該当のソースコード

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>

###試したこと
リダイレクト処理のサンプルコードをいくつか探してみたのですが全部ダメで上記のメッセージが出てしまいます。そこでさくらのDBのエラーログを調査したところ「PHP Deprecated: Comments starting with '#' are deprecated in 」の表示がでていたのでphp.iniの中を検索したのですが # から始まる箇所がいくつかあってどこを修正すればいいのかわかりませんのでよろしくお願いします。

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/05/17 15:41

コメントありがとうございます。先ほど上記の通り設定したところ「alert」.....htaccess: Invalid command '\xff\xfeR', perhaps misspelled or defined by a module not included in the server configuration, referer: と表示されてました。検索した感じだとBOM付きで入ってしまっているのでしょうか。
guest

回答2

0

ベストアンサー

解決しました。
以下がそのコードになります。

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{ENV:HTTPS} !on RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>

RewriteCond %{SERVER_PORT} 80→RewriteCond %{ENV:HTTPS} !on
に修正でできました。

投稿2017/05/18 07:22

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

リライトの記述は間違っていないようです。
全然別の原因でエラーになっているのでは?
Apacheのエラーログにエラーが出ていませんか?PHPの警告じゃなくて。

あと、<IfModule mod_rewrite.c>のような物は書かない方が良いです。

投稿2017/05/17 13:48

otn

総合スコア84499

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

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

退会済みユーザー

退会済みユーザー

2017/05/17 14:43

コメントありがとうございます。 Apacheのエラーログはどうやって調べるのでしょうか。 (初心者かつApacheをいじった事ありません。) お願いいたします。
otn

2017/05/17 14:59

共用サーバーでしょうか?専用サーバーでしょうか? 共用サーバーだと、さくらに問い合わせてください。 あるいは、「さくらのDBのエラーログ」とやらがそれに当たるのかも。「さくらのDBのエラーログ」というのは聞いたことが無いので分かりません。
退会済みユーザー

退会済みユーザー

2017/05/17 15:13

さくらのレンタルサーバーになります。 実はさくらには2日前に問い合わせのメールを送っているのですがまだ返信がありません。 上記のエラー「Internal Server Error」の内容を翻訳したらサーバー内部エラーだったのでググったらさくらのエラーログがデータベースから観れるとの事で内容を観たら上記の「PHP Deprecated: Comments starting with '#' are deprecated in」が延々と出ていたので再度検索したところ「#」マークが原因でphp.iniを調べて「;」に置き換えまではたどり着いたのですがそこから先へ進めないでいます。
otn

2017/05/17 15:23

ああ、じゃあそれがエラーログですね。 「PHP Deprecated: ~」は警告のようなものなので、それ以外を探してください。
退会済みユーザー

退会済みユーザー

2017/05/17 15:42

エラーログの設定をしたところ以下のように出ました。 .htaccess: Invalid command '\xff\xfeR', perhaps misspelled or defined by a module not included in the server configuration, referer:
otn

2017/05/17 15:47

.htaccessファイルの文字コードがUTF-16になっているようです。それが原因です。 ASCIIにしてください。 Windowsのメモ帳を使っているなら、名前を付けて保存で、文字コードをANSIです。
退会済みユーザー

退会済みユーザー

2017/05/17 15:50

Macになります。 先ほど一度htaccessファイルを削除し、別の(恐らくBOM外していたはずの)テキストエディタを使用したら表示内容(サイト側)が変わりました。 今度は「多くのリダイレクトが発生しています。あるいはリダイレクト先のページから元のページにさらにリダイレクトが設定されている場合に....」になりました。 この場合は新規で質問を投稿した方がいいのでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問