3

apache2 がインストールされた Ubuntu 12.10 を使用していますが、.htaccess ファイルが機能していません。リンクに .php ファイル拡張子を付けないように設定しているため、/login.php ではなく www.website.com/login のように見えますが、「/login」という URL が見つからないと表示されます。サーバー上。このページを読みましたが、「AllowOverride All」について何か書かれていますが、それがどこにあるのか、または追加する必要がある場合はどこに追加するのかわかりません。

編集:このリンクを見つけて、その内容を見つけましたが、アクセスしたページに内部サーバーエラーがあると表示されています。に変更しました

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

内部サーバーエラーと表示されます

編集#2:エラーログには、

/var/www/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

編集 #3:ここで答えを見つけました: .htaccess: Invalid command 'RewriteEngine', おそらくスペルミスか、サーバー構成に含まれていないモジュールによって定義されています

4

2 に答える 2

1
  • .htaccess で mod_rewrite が有効になっていることを確認してください。

また、.htaccess の先頭に次の行があることを確認してください。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

つまり、MultiViewsオプションをオフにします。

同様の問題と私の回答については、この Q&Aも参照してください。

于 2013-05-26T00:59:38.107 に答える
0

Apache 構成で Directory-block を指定するか、指定する必要があります。AllowOverrideここでドキュメントを見つけることができます: http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

そして、ドキュメント<Directory>はここにあります: http://httpd.apache.org/docs/2.2/mod/core.html#directory

要するに、設定を上書きできるようにする場所を指定し、そのディレクトリブロックで<Directory /path/to/your/directory>使用します。AllowOverride all

于 2013-05-25T21:39:24.803 に答える