重写htaccess规则不起作用

时间:2014-12-30 02:43:44

标签: .htaccess mod-rewrite

我试图通过使用我的htaccess文件来获取调用变量(从我的OLD站点)指向我博客的根级别的页面。我对htaccess语法的了解并不是很好......

例如,这些页面中的任何一个......

www.example.com/blog/?paged=100
www.example.com/blog/?paged=84
www.example.com/blog/?paged=3

...将全部改写为...... www.example.com/blog /

我试过......

RewriteEngine on
RewriteRule ^blog/paged=?$ $1/blog/$2 [R=301,L]

...但这仅适用于paged = 1。任何其他变量都不起作用(即2,100)。有人可以帮助正确地做到这一点吗?

1 个答案:

答案 0 :(得分:1)

为了能够匹配查询字符串,您需要像这样使用RewriteCond

如果/blog/.htaccess不存在:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^paged=\d+
RewriteRule ^blog/?$ /blog/? [R=302,NC,L]

如果/blog/.htaccess存在:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^paged=\d+
RewriteRule ^/?$ /blog/? [R=302,NC,L]