Я пытаюсь определить правильный синтаксис для Apache rewrite для отправки посетителей на другую страницу, если значение строки запроса не равно определенному формату.
URL 1: http://www.foo-bar.xqx/? Video = 123 (маршрут в одну сторону)
URL 2: http://www.foo-bar.xqx/? Video = fgh (маршрут по-разному)
Формат для значения должен быть всех цифр \d {0, x}, но ничего, что я пробовал до сих пор, похоже, возвращается, как я ожидаю. Самая последняя версия для переписывания выглядит следующим образом:
RewriteCond %{QUERY_STRING} ^video=[^\d](\d{0,})$
RewriteRule - /404.php$1 [NC,L]
Используйте !
отклонить правило
RewriteCond %{QUERY_STRING} ^video=
RewriteCond %{QUERY_STRING} !^video=\d+$
RewriteRule - /404.php$1 [NC,L]
Это будет только переписывать запросы, которые имеют ?video=
, но только если нет номера после =
.