.htaccess redirect参数到子目录

时间:2016-01-24 12:43:08

标签: apache .htaccess mod-rewrite redirect url-rewriting

我正在尝试重定向

这样的网页
  

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的新网站,所以它不应该是问题的根源,我想。

我也搜索并尝试了不同的方法,但无法弄明白。我想我错过了一些非常简单的事情。

1 个答案:

答案 0 :(得分:3)

您的问题可能是RewriteRule模式中的前导斜杠。在htaccess上下文的RewriteRule中不需要前导斜杠。

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{QUERY_STRING} i=(.*) [NC]
RewriteRule ^cat/listen(.*) /main/cat/subcat/%1? [R,L]

目标网址末尾的空问号是重要的,因为它会丢弃原始查询字符串。