web-dev-qa-db-ja.com

UbuntuのLAMPでmod_rewriteを有効にする方法は?

私は自分のマシンでUbuntu 12.04 LTS linuxを使用しています。既にLAMPをインストールしています。次に、mod_rewriteモジュールを有効にします。私はグーグルをたくさんやって、たくさんのトリックを試しましたが、mod_rewriteを有効にすることができませんでした。誰でもmod_rewriteを有効にできますか?前もって感謝します。

16
PHPLover

TL; DRバージョン-ターミナルで以下を実行します。

Sudo a2enmod rewrite && Sudo service Apache2 restart

説明付き-端末で次の操作を行います。

ls -l /etc/Apache2/mods-available/rewrite.load    ///if it prints out rewrite.load, it's there and ready to go

Sudo a2enmod rewrite   //enables the mod

ls -l /etc/Apache2/mods-enabled/rewrite.load // shows created symlink

Sudo vi /etc/Apache2/sites-available/default   //opens the file in vi (you can also use vim or nano)

必要に応じて、「AllowOverride None」を「AllowOverride all」に置き換えます。

Sudo service Apache2 restart    ///restarts Apache

/ etc/Apache2/sites-availableの仮想ホストエントリを編集し、AllowOverride AllをDocumentRootに。仮想ホストは最終的に次のようになります。

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/vhosts/example.com
  <Directory /var/www/vhosts/example.com>
    AllowOverride all
  </Directory>
</VirtualHost>

これは実稼働環境には適していませんが、ローカル開発には問題なく機能します。

66
mikedugan

どのコマンドを試したかは言及しなかったので、基本的なものから始めます。

Sudo a2enmod rewrite

また、mod rewriteがすでに有効になっているかどうかを確認するには、次を使用します。

Apache2ctl -M
6
jmarceli