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