web-dev-qa-db-ja.com

UbuntuのApacheでmod_rewriteを有効にするにはどうすればよいですか?

Ubuntu 10.04のApacheでmod_rewriteをどのように有効にしますか?

コピーしてみましたrewrite.loadから/etc/Apache2/mods-availableからetc/Apache2/mods-enabledしかし、それはうまくいきませんでした。

13
Nathan Osman

これを試して: Sudo a2enmod rewriteをクリックし、Apacheを再起動します。

20
Rwky

A2enmodを使用するObsidianの答えは適切なソリューションです。 andolの方法は機能しますが、アップグレード時に中断する可能性があります。 a2enmodが行うことは単純にシンボリックリンクを作成することなので、次の2つは同じであり、どちらも適切なソリューションです。

  ln -s /etc/Apache2/mods-available/rewrite.load /etc/Apache2/mods-enabled/

または

  a2enmod rewrite

ただし、a2enmodは他のタイプのファイルを探します。一部のファイルには.confがあり、場合によっては他のファイルもあります。このコマンドを学習しない理由はありませんが、バックグラウンドで何が行われているのかを知ることが重要です。

ファイルをコピーすると、将来の管理者はあなたに非常に不快になります。 :)

4

実際には、一種の間違った解決策ですが、./ mods-available /から./ mods-enabled /rewrite.loadをコピーすると、働いています。その後、Apacheを再起動することを覚えていますか?

いずれの場合も、./ mods-enabled /には通常、対応するファイルへのシンボリックリンクが./ mods-available /に含まれている必要があります。これは、Obsidianによって言及されているように、コマンドa2enmodおよびa2dismodで最も簡単に処理されます。

モジュールを有効にする以外に、書き換えをアクティブにする必要もあります。 RewriteCond:sおよびRewriteRule:sを書き込む前に、その構成コンテキストに "RewriteEngine On"が存在する必要があります。

2
andol