.htaccess 使用“?”&引用;在htaccess中重定向

.htaccess 使用“?”&引用;在htaccess中重定向,.htaccess,redirect,.htaccess,Redirect,我想重定向 RewriteCond %{QUERY_STRING} ^id=([^&]+) [NC] RewriteRule ^vids.php(.*)$ watch?v=%1 [L,R,NC] mysite.com/vids.php?id=265s2g 到 mysite.com/watch?v=265s2g 我试过了 RewriteRule ^watch?v=(.*)$ vids.php?id=$1 但是给了我一个找不到的错误。正确的方法是什么?您无法在重写规则中匹配查询字符串。这

我想重定向

RewriteCond %{QUERY_STRING} ^id=([^&]+) [NC]
RewriteRule ^vids.php(.*)$ watch?v=%1 [L,R,NC]
mysite.com/vids.php?id=265s2g

mysite.com/watch?v=265s2g

我试过了

RewriteRule ^watch?v=(.*)$ vids.php?id=$1

但是给了我一个找不到的错误。正确的方法是什么?

您无法在重写规则中匹配查询字符串。这样使用它:

RewriteCond %{QUERY_STRING} ^v=([^&]+) [NC]
RewriteRule ^watch$ vids\.php?id=$1 [L,R,NC]

您可以使用以下规则重定向

RewriteCond %{QUERY_STRING} ^id=([^&]+) [NC]
RewriteRule ^vids.php(.*)$ watch?v=%1 [L,R,NC]
上述规则将重定向

http://anysite.com/vids.php?id=265s2g

http://anysite.com/watch?v=265s2g


中尝试测试,它给出了哪个URL的404?当我尝试为ex:mysite.com/watch?v=Pv_qMHr8e9oNow显示时,它表示在该服务器上找不到请求的URL/home/downloa8/public_html/www.mysite.com/vids.php。它戏剧性地添加了额外的url Ok通过添加rewrite base/解决了问题。但是现在有一个问题,它显示出来了,但id似乎是空的。@anubhava bro需要帮助,我希望你能给出建议