我正在使用正则表达式在apache mod_rewrite上尝试此操作。
检查请求的网址。
如果不是.php或/,则将其重写为authorize.php?token = some_random_token
请求网址(此处使用的示例令牌):
https://example.com/section/video.mp4?token=eyJ0eXAiOiJKV1QiLCJhb
Apache mod_rewrite:
RewriteCond %{REQUEST_URI} ^\/(section)\/.*$
RewriteRule !^((.\*.php)|(.*\/))$ authorize.php
我被困在这里。所需的正则表达式代码应该是什么? 预先感谢。
答案 0 :(得分:1)
RewriteRule !^((.\*.php)|(.*\/))$ authorize.php
^
Searches for a literal asterisk
除了放错位置的转义字符之外,您不需要所有这些括号,因为您没有捕获任何东西。我希望这应该可以。
RewriteRule !^(.*\.php|.*\/)$ authorize.php [QSA]
对于令牌,the QSA flag会将其从您的原始请求移至重写。