0

わかりやすいURLを作成するためにこのコードを使用しています:

rewriteengine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

http://www.mywebsite.com/testにアクセスできるように動作するはずですが、URL にアクセス404 Not Foundするとログ ファイルにエラーは表示されません。

Debian x86_64 で Apache2 を使用していますが、フレンドリ URL が機能するように設定を変更する必要がありますか?

4

1 に答える 1

1

多くの可能性があります。以下にいくつかを示します (一部はSmartWebDeveloper.comから):

  • .htaccessファイルの名前が正しいことを確認してください。先頭の を忘れていないこと.と、ファイル名がすべて小文字であることを確認してください。

  • AllowOverrideが正しく設定されていることを確認してください。構成ファイル ( httpd.conf、および場合によっては/etc/apache2/ディレクトリ内の他の構成ファイル) を見ると、次のような行が表示される場合がありますAllowOverride None。その行は、.htaccess ファイルが変更されるのを防ぎます。(この行は、サーバー構成の複数の場所に存在する可能性があることに注意してください。メイン構成、Web ルート ディレクトリ構成 (おそらく/etc/apache2/sites-available/default)、およびフォルダー内の VHost 構成ファイルを含むsites-enabledため、実際に存在するものを見つける必要があります。このサイトの内容を変更します。) に変更しAllowOverride FileInfoます (必要なのは書き換えだけの場合) または(他のAllowOverride All目的で使用する予定の場合)。.htaccessAllowOverridehttp://httpd.apache.org/docs/current/mod/core.html#allowoverride

  • 書き換えモジュールが有効になっていることを確認してください。<IfModule mod_rewrite.c>書き換え構成がおよび</IfModule>タグで囲まれている場合、または Apache が.htaccessエラーを報告しないように構成されている場合、モジュールが無効になっている場所はどこにも表示されません。有効にするには、a2enmod rewriteApache サーバーを使用して再起動します。

于 2013-06-06T20:17:55.047 に答える