#regex #apache #mod-rewrite
#регулярное выражение #apache #mod-переписать
Вопрос:
Я пытаюсь сделать это на apache mod_rewrite, используя регулярное выражение.
Проверьте запрашивающий URL.
Если оно отличается от .php или /, перепишите его в authorize.php?token=some_random_token
Запрашивающий URL-адрес (пример используемого здесь токена):
https://example.com/section/video.mp4?token=eyJ0eXAiOiJKV1QiLCJhb
Apache mod_rewrite:
RewriteCond %{REQUEST_URI} ^/(section)/.*$
RewriteRule !^((.*.php)|(.*/))$ authorize.php
Я застрял здесь. Какими должны быть требуемые коды регулярных выражений?
Заранее спасибо.
Ответ №1:
RewriteRule !^((.*.php)|(.*/))$ authorize.php
^
Searches for a literal asterisk
Помимо неуместного управляющего символа, вам не нужны все эти круглые скобки, поскольку вы ничего не фиксируете. Я ожидаю, что это должно сработать.
RewriteRule !^(.*.php|.*/)$ authorize.php [QSA]
Что касается токена, флаг QSA переместит его из вашего исходного запроса в перезапись.