1

私は正常に動作するローカル環境を持っています。.htaccess にテスト ルートを貼り付けると、期待どおりに動作します (Google に再ルーティングされます)。

RewriteEngine on
RewriteRule testpage\.html http://www.google.com [R]

開発サーバー (Unbutu 12.04) に同じものを貼り付けたところ、単に Not Found ページが表示されます。次を実行してdevserverで確認すると:

sudo a2enmod rewrite

「モジュールの書き換えは既に有効になっています」と表示されます。

編集:phpinfo()の「ロードされたモジュール」セクションにも表示され、インストール後にApacheサーバーを数回再起動しました。

何か案は?

4

3 に答える 3

5

ほとんどの場合、mod_rewrite が有効になっているが、.htaccess ファイルが無効になっているためです。

AllowOverride None

.htaccess ファイルのチェックを無効にします (これによりパフォーマンスが向上しますが、mod_rewrite コードを Apache 構成ファイルに直接配置する必要があります)。

仮想ホストを次のように変更します。

AllowOverride All
于 2012-09-04T22:47:44.963 に答える
3

理解できない人のために - http://victorpotapov.ru/blog/vkljuchaem_mod_rewrite_v_apache/2013-11-03-61

このページでは、ubuntu の端末に入力する手順を段階的に確認できます。

于 2013-11-26T08:43:02.707 に答える
2

mod_rewrite を有効にする

mod_rewrite モジュールを有効にします

須藤a2enmodの書き換え

Apacheを再起動します

sudo サービス apache2 再起動

仮想ホストを編集して、.htaccess 内で mod rewrite を使用する

sudo nano /etc/apache2/sites-available/000-default.conf

「DocumentRoot /var/www/html」を検索し、次の行を追加します

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

保存して終了 CTRL-X、「Y」、Enter

アパッチを再起動する

sudo サービス apache2 再起動

于 2014-10-14T16:29:10.987 に答える