0

.htaccess ファイルを に配置しましたhttpdocs/test/。次の 2 つのルールがあります。

RewriteEngine On
RewriteRule ^test/reviews/([0-9]+)\-[A-Za-z1-9\-]$ /test/reviews.php?id=$1

DirectoryIndex reviews.php

DirectoryIndex ルールが機能するので、ファイルが解析されていることがわかります。ただし、アドレス/test/reviews/123-Boseは 404 エラーになります。私の phpinfo ファイルでは、apache2hander の下に、mod_rewriteLoaded Modules の横にあるので、Rewrite が読み込まれています。なぜ/test/reviews/123-Bose書き換えられないのですか?

編集: .htaccess を /test/ ディレクトリに残す必要があります。

ありがとう!

4

1 に答える 1

1

とにかく含むベースパス全体を指定する場合は、.htaccessファイルをサブフォルダーではなくルートフォルダーに配置します。test/また、先頭のスラッシュを指定していないため、base ステートメントを追加します。

RewriteEngine On
RewriteBase /
...your rules...
于 2013-05-03T17:50:20.557 に答える