helen's blog

ずっとおもしろいことしてたいな。

apacheにリダイレクトの設定を書いてみた

ただの設定の追加だったんですけど
初めてやったのでその他コマンド合わせてメモ

conf/ と conf.d/

  • conf/httpd.conf:主設定ファイル
  • conf.d/*.conf:共通部分を切り出してconf/でinclude

参考:Apache VirtualHostの効率的な管理方法 - てつじんにっき

vimで開いたら文字化けしてた

:e ++enc=文字コード名

文字コード指定でファイルを再度開く

参考:vimで一時的に文字コードを変換するには - Qiita

apacheのリダイレクトの設定

今回はディレクトリ名の変更だったので

RewriteRule ^/hoge/$ /moge/ [R=302,L]

こんな感じでした
R=302でhttpの302が返ります

参考:Apache Rewrite 学習 : 第01回 個別のURLを転送する | WEB ARCH LABO

apacheコマンド

apache設定ファイルのSyntaxチェックを実行する。
  $ sudo service httpd configtest
apacheのリスタートをかける
  $sudo service httpd graceful
apache が起動したか確認する。
  $ sudo service httpd status
  httpd (pid xxxx) is running...
sudo service httpd は apachectl でも同じ

apacheの設定反映コマンドの違い

  • restart
    • サービスを終了してから再起動
    • リクエストの処理を全て中止
    • すべての子プロセスを終了してから、親プロセスも終了
  • condrestart
    • restartとほぼ同じ
    • Apache httpd が起動しているときだけ再起動
  • graceful
    • 親プロセスは終了しない
    • すべてのリクエストの処理が終了してから設定変更が反映される
    • SSL証明書の変更やモジュール追加を行った場合、gracefulだと反映されないことがあるのでrestartすると良いかも
  • reload
    • 親プロセスは終了しない
    • リクエストの処理の終了を注視して設定変更が反映される

参考:
Apache httpd の設定変更時の再起動・設定反映オプションの使い方 | グーフー WordPressのためのLinuxノート
apacheを再起動するときはgracefulを - なんちゃってウェブ系エンジニアの備忘録