1

次のようなものを使用して、一部のユーザー要求を、存在しないファイルを指す Apache サーバーにリダイレクトしようとすると問題が発生します。

RewriteCond %{REQUEST_URI} !-f
RewriteRule ^/a/b/c.* /d/e$1 [L]

私の意図は、一部のユーザーが存在しないファイルhttp://whatever.com/a/b/c/somethingを要求した場合、404 エラーを送信する代わりに、URL を書き直してhttp://から取得することです。 anything.com/d/e/something、ファイルが存在することを確認できます。

これには多くのトピックがあることは知っていますが、私は非常に熱心な調査を行いました.私の問題は、どのような組み合わせを試しても、書き換えモジュールを機能させることができない..

このようなものでも:

RewriteRule ^(.*) /index.html [L]

おそらくすべての請願を index.html にリダイレクトしますが、何もしません。

apache2ctl -M がrewrite_moduleを正しくロードされたものとして出力するため、ロードされるはずです。

デバッグ レベルでエラーをログに記録すると、ユーザーが存在しないファイルを要求し、Apache が「404 ファイルが存在しません」エラーに応答するだけです。

私はサーバー管理者なので、.hcaccess は使用していません。httpd.conf ファイルを直接編集しているので、オーバーライド ディレクティブの問題は発生しません。

私は何が欠けていますか?

4

1 に答える 1

0
RewriteCond %{HTTP_HOST} ^yourdomain.com
RewriteRule (.*) http://www.yourdomain.com/$1 [R=301,L]

...ユーザーをインデックス ページにリダイレクトします。

于 2012-11-07T22:42:25.223 に答える