.htaccess 规则:
RewriteEngine On
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^yon-(.*).mp4$ index.php?videodata=$1&yonlendir=true&%1 [NC]
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^(.*).mp4$ index.php?videodata=$1&%1 [NC]
转换为nginx:
location /rigoplay {
if ($query_string ~ "(.*)"){
rewrite ^/yon-(.*).mp4$ /index.php?videodata=$1&yonlendir=true&%1;
}
if ($query_string ~ "(.*)"){
rewrite ^/(.*).mp4$ /index.php?videodata=$1&%1;
}
}
但是它不起作用,抛出 404,URL 根本没有被重写。
domain.com/rigoplay/Y0FNRDZCMGVGbGJWL2FmUjRkbm1ieGR1c2ZUaStscVRoR0h2M1F0YzV6VTI3ZS9YNkpxZVhhQ0c3dz09.mp4
答案1
location /rigoplay/ {
rewrite ^/rigoplay/yon-(.*)\.mp4$ /rigoplay/index.php?videodata=$1&yonlendir=true last;
rewrite ^/rigoplay/(.*)\.mp4$ /rigoplay/index.php?videodata=$1 last;
}
- 你不需要
if
和%1
。Nginx 会自动将查询字符串添加到重写请求中。 - 您必须在 中使用完整的 URI
rewrite
。