🖥

Apache(MAMP)で400 Bad requestが表示される場合

表題の通り。いつも通りローカルに開発環境を整えようとhtdocsにファイルを追加し、Virtual Hostの設定を加えてMAMP上でApacheを再起動してアクセス。が、何故か400エラー。心当たり全くなしのところどうやらServerNameにハイフン、ピリオド、英数字以外を使用するとエラーが出るそうで・・・。

Virtual hostの設定でServer Nameにアンダースコア(_)を使用しているのが原因でした。(修正前)

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/hogehoge_foo"
    ServerName hogehoge_foo
</VirtualHost>

ハイフンに変更したところ無事アクセスできました、DocumentRootにはアンダースコア使えます。(修正後)

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/hogehoge_foo"
    ServerName hogehoge-foo
</VirtualHost>