すべてのページを同じドメインの 1 つのページにリダイレクトします

すべてのページを同じドメインの 1 つのページにリダイレクトします

このhtaccessルールがあります

RewriteCond %{REMOTE_ADDR} ^xxx\.xxx\.xxx\.xxx
RewriteCond %{REQUEST_URI} !/path/to/file.php$
RewriteRule $ /path/to/file.php [R=302,L]

目的は、特定のIPアドレスから任意のページにアクセスした人を特定のページ/path/to/file.phpにリダイレクトすることです。

これは、スペースを含む URL では機能します。ただし、スペースの代わりに %20 を含む URL や、スペースのない URL では機能しません。どこが間違っているのでしょうか?

答え1

この行を変更すると、次のようになると思います。

RewriteRule $ /path/to/file.php [R=302,L]

これに:

RewriteRule ^(.*)$ /path/to/file.php [R=302,L]

準備は完了です。リダイレクトをテストするときは、必ずブラウザのキャッシュをクリアしてください。

関連情報