0

次の apache 書き換えルールに何か問題があると思いますか?

これは、「text」というサブディレクトリ内の .htaccess ファイルにありますlocalhost/lombardpress。次のルールがあります。

Options +FollowSymlinks
RewriteEngine on
RewriteRule ([^/]+) /textdisplay.php?fs=$1 [NC]

私はこの入力を期待していました:

http://localhost/lombardpress-dev/text/lectio1

これに書き換えます:

http://localhost/lombardpress-dev/text/textdisplay?fs=lectio1

しかし、代わりに 404 エラーが発生します。

要求された URL /textdisplay.php は、このサーバーで見つかりませんでした。

RewriteRule がアドレスを書き直したように見えますが、意図したとおりではありません。正規表現に何か問題があるに違いありません。

さらに情報を提供できるかどうか教えてください。

4

3 に答える 3

1

これを試して

Options +FollowSymlinks
RewriteEngine on
RewriteBase /lombardpress-dev/text/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([^/]+) textdisplay.php?fs=$1 [NC]

その書き換え条件を使用すると、textdisplay.php をそれ自体に再度リダイレクトすることはありません。問題は、[^/]+ が / 以外のすべてに一致するため、textdisplay.php にも一致することです。

于 2013-10-23T21:51:26.480 に答える