さくらのレンタルサーバで.htaccessが原因で500エラーになってしまう場合のチェックリスト

さくらのレンタルサーバを使ったときに、.htaccessがうまく動かず500エラーが出てきました。
いろいろ原因を探ったところ、文字コードが原因だと分かりました。
他のレンタルサーバだとあまり意識したことがなかったので焦りましたが、今後同じようなことが起きたときのためにチェックしたポイントをまとめておきます。
チェックすること
1. htaccessの中身が正しいか確認
まず、.htaccessの中身が間違っていると、動かないのは当然なので、内容が合っているかどうか確認しましょう。
自分の場合、別のレンタルサーバーでは動いたはずのコードがさくらのレンタルサーバーでは動かなかったので、中のコードが間違っているわけではないと判断できました。
構文エラーがないかどうかチェックしてくれるサイトもあるので、1度確認しておきましょう。
2. htaccessの文字コードと改行コードの確認
多くのテキストエディタで、現在改行コードは「UTF-8」がデフォルトです。
さくらのレンタルサーバーでも「UTF-8」または「EUC-JP」であれば問題ないとのことだったので、いつも通りUTF-8で作っていたら500エラーになりました。
| 設定項目 | 設定内容 |
|---|---|
| 文字コード | UTF-8またはEUC-JP |
| 改行コード | LF |
EUC-JPに変えて再度アップしたところ、動くようになったので、他にいろいろ試したけど解消されない方は度試してみるとよさそうです。
文字コードや改行コードは、テキストエディタごとに設定場所が異なりますが、Visual Studio Codeの場合は右下に表示されているので、クリックして変更できます。

3. パーミッションの確認
他にも.htaccessのパーミッションは「644」である必要があります。
| ファイル | パーミッション |
|---|---|
| .htaccess | 644 |
| 実行ファイル | 755または705 |
PHPやCGIなどの実行ファイルの場合は「755」か「705」にする必要があるみたいです。
Transmitであれば、インスペクタの下の方に表示されます。
「グループ」と「その他」の書きがオフになっていて、それ以外が許可されている状態であればOK。

そうなっていない場合は、上のボタンをクリックして切り替えて「適用」をクリックすれば変更できます。

WordPressのカスタム投稿タイプを追加後、ページは存在しているはずなのに404になる場合の解決方法
手軽にコーディングの勉強ができるCodePenをもっと便利に使うための設定
gitignoreで特定ファイルをGitで無視する方法
Google Maps APIでピンの見た目をカスタマイズする方法
ファビコンや各種アイコンの作成と設定方法
効率的にHTMLを生成できるPugの特徴や記述方法
アイコンフォントをPCにインストールしている場合は、コーディング後の確認に注意
Dart Sassでファイルを分割して管理する方法|Dart Sass入門
Visual Studio CodeでSVGをプレビューする拡張機能「SVG Preview」
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
コーディング時に「アノテーションコメント」を使ってコードを見やすく管理する
CSSのカスタムプロパティ(変数機能)の使い方
Abstractで「Failed to open “○○”」「An unexpected problem occurred, try again?」と表示されるときに確認すること
Nuxt.jsでのページ遷移設定方法(Vue Routerやnuxt-link)|Nuxt.jsの基本
高機能なランチャーアプリ「Alfred 4」がリリース!ダークモード対応やWorkflowが強化
WordPressで「現在メンテナンス中のため、しばらくの間ご利用いただけません。」の状態でログインできなくなった場合の対処法
ATOKの句読点変換を無効にしているのに、変換されてしまう場合は「変換方法」を確認!
「mas-cli」を使ってターミナルからMac App Storeの操作をできるようにする
BetterSnapToolでリサイズ前のウインドウサイズを復元する方法・復元しない方法
Ulyssesがテーブルの作成やフォーマットを正式にサポート!