mod_rewrite

新しくサイトを作ってみた。

.htaccessが無効で、mod_rewriteも無効になっていた。
そのため/wordpress/test123/とサイトを指定しても自動的に子サイトを作成する事が出来なかった。
(指定した場所を開くと、そのディレクトリは実際には無くて、自動的に違うページに飛ぶような機能が使えなかった。)
ubuntuにapacheを入れた時点では.htaccessが無効になっている。

まず変更するファイルはバックアップを取っておく。(コピーをとる。)

.htaccessが有効か無効かを判断するには、.htaccessファイルに必要ない文字列を入れてみる(testなど)。
.htaccessが置かれているページにアクセスするとInternalServerErrorというエラーになる。
エラーになれば.htaccessを読み取ってエラーを発生しているので、.htaccessは有効であると判断できる。

↓エラーが出なかった場合(.htaccessが無効になっている)
有効化するには
/etc/apache2/sites-available 内のdefoultを編集した。
バージョンによっては場所が違うらしい。
<Directory /var/www

</Directory>
内の
AllowOverride None  を AllowOverride All に変更する。
.htaccessが有効か無効かを調べるために文字列を入れてページを見てInternalServerErrorが出れば.htaccessが有効になってるとわかる。

.htaccessの有効の確認が終わったら必要ない文字列は消してもと通りにしておく。

a2enmod rewrite のコマンドでmod_rewriteを有効化する。
これで自動的に子サイトに飛ぶようになる。

うまくいかない場合は、.htaccessの記述に誤りがあるかも。.htaccessの改行コードがおかしい。.htaccessの最後の行にもう一つ改行を入れてみるとうまくいくかも。

This entry was posted in 未分類. Bookmark the permalink.