Как я могу использовать .htaccess для перенаправления, если конкретная переменная GET содержит не цифры c символов? - PullRequest
0 голосов
/ 27 февраля 2020

Мне нужно правило для .htaccess, которое будет проверять определенную переменную в строке запроса (которая может присутствовать или не присутствовать) и перенаправлять на ту же страницу, за исключением строки запроса, если переменная не является пятизначной git число.

Например:

https://www.example.com/mypage?myvar=12345       // This one is fine
https://www.example.com/mypage?myvar=987         // This one isn't
https://www.example.com/mypage?myvar=12-3a       // Neither is this one
https://www.example.com/mypage?othervar=whatever // Don't need to check this one

Я знаю, что это не может быть слишком сложным, но почему-то я еще не наткнулся на то, что работает.

1 Ответ

0 голосов
/ 27 февраля 2020

Наконец-то понял:

<ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{QUERY_STRING} myvar= [NC]
    RewriteCond %{QUERY_STRING} !(^|&)myvar=[0-9]{5}($|&) [NC]
    RewriteRule (.*) $1? [L,R=302,NC]
</IfModule>

Возможно, это не лучший способ (комментарии приветствуются!), Но он работает как задумано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...