独学!Webサイト構築日誌

38日目:まったり起床。

9:00

午後から少しお出かけする予定なので、それまでにphpエラー表示をどうにかしたい。
目標は故知覧!
  1. htaccess:https スキームに統一。
  2. htaccess:拡張子なしでのアクセス。
  3. php エラー非表示&ログ吐き出し。

1.htaccess:https スキームに統一

このサイトで.htaccessについて詳しく記載してあるので参照。
コピペだけの簡単なお仕事。
            
.htaccess ※追加分抜粋。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
            
        
ユーザーの訪問URLが統一出来るのが良い。

2.htaccess:拡張子なしでのアクセス。

            
.htaccess ※追加分抜粋。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html 
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
            
        
流行の拡張子なしのHPに生まれ変わったぜ...(*´д`*)ハァハァ

11:00

3.php エラー非表示&ログ吐き出し。

購入した本を参考に、再度試してみる。

...やっぱりエラーになるなぁ...と思い、念のため契約しているXserverで調べたところ、コレ。



以下、抜粋。----------------------
Q:「500 Internal Server Error」というエラーが表示されてホームページが見られません。
また、「php_flag」などのPHPに関する各種設定を.htaccess上に記述した場合もエラーが発生します。PHPの設定は「php.ini設定」にて行ってください。



先に言えやぁああああああああああああああああああああwwwwww
1日以上時間潰れたぞwwwww

てことで、サーバー関連の情報を弄るとき、プログラム上問題ないにも関わらずエラーが起こるときは、サーバー自体の設定を疑うべきですね。良い勉強になりました。



原因は分かりましたが、php.iniを弄るとサーバー全体に影響が出るようなので、サイト規模によってはphpファイル内で設定した方が良いと思います。
現在このサイトは小規模ですが、同じサーバー内で別サイトも運用しているので、phpファイルに記載していきたいと思います。



完全に余談ですが、調べものしてたら良い情報ゲットした。
inputタグに「required」付けるだけで、入力必須判定してくれるようです。素敵。
            
例:
<input type="text" name="mName" placeholder="気楽 太郎" required>
            
        
ちょっと昼飯食ってくる。

12:30

Xserverのini弄って、エラー表示は消えるようになったが、ログファイルが上手く保存されないですね...。
Xserver: php.ini設定について
Xserver: php.ini設定で設定可能な項目について



15:00

所用で外出&帰宅。



17:00

ん~...何だこりゃ、さっぱり分からん。
このサイトこのサイトを読む限り、先にlogファイルを作成しておく必要があり、sshてのを使えば実現できそうなんですが、sshって何よwwww ここに来て更に新しい仕組みが出てくるとは...。



ちょっと現実逃避した後、気が向いたらssh調べる。向かなかったらSEO再検討する。



20:00

Twitterボタンの挙動がおかしかったので修正していました。(※32日目のプログラムも修正済み)

20:30

「こりゃムリゲーだ、諦めよ。」と思ったが、念のため error_log だけで調べたところ... error_log関数あるじゃん。
動作内容含めた詳しいサイトココ。

ん~...特にエラー無いときでもテキスト書き出しちゃうなー。何でかなー。



21:30

今までの苦労は何だったんだ、と言いたくなるぐらいあっさり実装出来た。
    
※Xserverのphp.iniの変更した部分抜粋。
log_errors = On
log_errors_max_len = 1024
error_log = ../php_error.txt

.htaccess 追加分
#errorファイル非表示
<Files ~ "^php_error\.txt">
Deny from all
</Files>
    
お昼前後でini弄ったときは上手く行かなかったのは、ファイル形式のせいですね。
.logに拘らず、.txtで書き出せば良いだけの話でした。



この後は、ちょっと調べものをする予定なので、今日はココまで。
明日はSEOを再度考え直してみる。



作成日:2021/01/19 - 更新日:2021/01/26

≪ 37日目≪ 一覧に戻る ≫39日目 ≫

HOME > 日誌一覧 > 38日目:まったり起床。