apacheで.htaccessを有効にする方法
借りているVPSのapacheで.htaccessが使えなかったので設定をいじって有効にしました。設定いじると言ってもほんの一行ちょろっと変えるくらいなんですけど、これも毎度ググってる気がするので作業ログ残しておこうと思います。
最初にバックアップ
まずは現状の設定ファイルのコピーを取るところから。VPSサーバにログインして下記のコマンドを実行。
$ sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
これは「/etc/httpd/conf/」というディレクトリの中にある「httpd.conf」という名前のファイルを、同じ階層に「httpd.conf.org」という名前でコピーするという意味。これで設定ファイルをいじった時に何か記述をミスってしまっても、最悪コピーから元に戻すことができます。保険大事。
httpd.confを編集して再起動
では設定ファイルを編集していきましょう。
$ sudo vim /etc/httpd/conf/httpd.conf
でファイルを開いて<Directory “/var/www/html”> 〜 の間にある「AllowOverride」という部分を次の通り変更します。「AllowOverride」は複数あるので注意。私の環境では338行目でした。
変更前
317 <Directory "/var/www/html">
318
319 #
320 # Possible values for the Options directive are "None", "All",
321 # or any combination of:
322 # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
323 #
324 # Note that "MultiViews" must be named *explicitly* --- "Options All"
325 # doesn't give it to you.
326 #
327 # The Options directive is both complicated and important. Please see
328 # http://httpd.apache.org/docs/2.2/mod/core.html#options
329 # for more information.
330 #
331 Options Indexes FollowSymLinks
332
333 #
334 # AllowOverride controls what directives may be placed in .htaccess files.
335 # It can be "All", "None", or any combination of the keywords:
336 # Options FileInfo AuthConfig Limit
337 #
338 AllowOverride None
339
340 #
341 # Controls who can get stuff from this server.
342 #
343 Order allow,deny
344 Allow from all
345
346 </Directory>
変更後
317 <Directory "/var/www/html">
318
319 #
320 # Possible values for the Options directive are "None", "All",
321 # or any combination of:
322 # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
323 #
324 # Note that "MultiViews" must be named *explicitly* --- "Options All"
325 # doesn't give it to you.
326 #
327 # The Options directive is both complicated and important. Please see
328 # http://httpd.apache.org/docs/2.2/mod/core.html#options
329 # for more information.
330 #
331 Options Indexes FollowSymLinks
332
333 #
334 # AllowOverride controls what directives may be placed in .htaccess files.
335 # It can be "All", "None", or any combination of the keywords:
336 # Options FileInfo AuthConfig Limit
337 #
338 AllowOverride All
339
340 #
341 # Controls who can get stuff from this server.
342 #
343 Order allow,deny
344 Allow from all
345
346 </Directory>
そしたらファイルを閉じてapacheを再起動します。コマンドはこれ↓
$ sudo service httpd restart
これで.htaccessが使えるようになりました。