2
私はかなりのURLにmod_rewriteを使用するウェブサイトを持っています。Apacheはhtaccessを無視します
example.com/id
example.com/generate/id
そして、これのhtaccessファイル:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^generate/([a-z0-9_-]+)$ generate.php?id=$1 [L,NC]
RewriteRule ^([a-z0-9_-]+)$ contact.php?id=$1 [L,NC]
最初のURLが正しく動作しますが、2番目されていない私は、主に2つのURLを持っています。 Apacheは404エラーを表示しています。なぜなら、 "generate"というフォルダを探していて、ドキュメントルートにhtaccessが見つからないからです。
は
を試してみたことがありますか?ありがとういずれにしても、 'Options + FollowSymLinks'を' Options + FollowSymLinks -MultiViews'に変更し、 'Options + MultiViews'やそれに類するAFTER行がないことを確認してください。問題のあるURLをもう一度お試しください。それでも何もない場合は、デバッグの書き換えを有効にして(サーバの設定/仮想ホストのコンテキストに 'RewriteLogLevel 9'を置きます)、正確な詳細についてログの書き直しを確認してください。 – LazyOne
ありがとうございます。エラーはMultiViewsオプションにあり、エラーを無効にすると消えます –