web-dev-qa-db-ja.com

Apacheでmod_rewriteを有効にする方法は?

UbuntuシステムにLAMPスタックをインストールしました。

リダイレクトが機能していません。修正方法がわかりません。誰も私を助けることができますか?

164
vinoth

書き換えモジュールを有効にするには、「Apache2 enable module rewrite」を実行します。

Sudo a2enmod rewrite

変更を適用するには、ウェブサーバーを再起動する必要があります。

Sudo service Apache2 restart

.htaccessファイルでmod_rewriteを使用する予定がある場合は、.htaccessAllowOverride Noneに変更して、AllowOverride FileInfoファイルの使用を有効にする必要もあります。デフォルトのWebサイトの場合、/etc/Apache2/sites-available/defaultを編集します。

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

このような変更後、Apacheを再起動する必要があります。

238
Lekensteyn

buntu 14.04および.htaccessに関する特別な回答を追加します(上記のすばらしい回答のフォローアップとして)。

14.04では、デフォルトの構成ファイルの名前が000-default.confに変更されています。

Sudo gedit /etc/Apache2/sites-available/000-default.conf

ファイルの最後に次を追加します。

<Directory "/var/www/html">
    AllowOverride All
</Directory>

何らかの理由で、Ubuntu 14.04およびApache2では、ルートは/www/htmlに設定されます。 Webサーバーのルートを古くなった/wwwopen 000-default.confに戻し、変更する場合

DocumentRoot /var/www/html/

DocumentRoot /var/www/

そして、もちろんそれははずです

<Directory "/var/www">
    AllowOverride All
</Directory>
49
davidkonrad