我正在尝试重定向
这样的网页www.domain.com/cat/listen?i=Name
到
www.domain.com/main/cat/subcat/name
我之前尝试过这些但没有帮助。
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{QUERY_STRING} i=(.*)
RewriteRule ^/cat/listen(.*) /main/cat/subcat/%1
和
RewriteEngine On
RewriteRule ^/?main/cat/subcat/([^/d]+)/?$ cat/listen?i=$1 [L,QSA]
我怀疑旧网站参数中的大写字母,但使用wordpress的新网站,所以它不应该是问题的根源,我想。
我也搜索并尝试了不同的方法,但无法弄明白。我想我错过了一些非常简单的事情。
答案 0 :(得分:3)
您的问题可能是RewriteRule模式中的前导斜杠。在htaccess上下文的RewriteRule中不需要前导斜杠。
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{QUERY_STRING} i=(.*) [NC]
RewriteRule ^cat/listen(.*) /main/cat/subcat/%1? [R,L]
目标网址末尾的空问号是重要的,因为它会丢弃原始查询字符串。