
У меня есть это правило 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, в которых есть пробелы. Но это не работает для URL, которые содержат %20 вместо пробелов, и URL, в которых нет пробелов. Где я ошибся?
решение1
Я думаю, если изменить эту строку:
RewriteRule $ /path/to/file.php [R=302,L]
к этому:
RewriteRule ^(.*)$ /path/to/file.php [R=302,L]
все будет хорошо. Убедитесь, что вы очистите кэш браузера, когда будете тестировать перенаправления.