在REQUEST_URI中匹配字符串并重定向到该匹配

时间:2015-03-06 19:02:37

标签: regex wordpress .htaccess redirect

我想将旧的网址/面包店/馅饼?id = 55或/ bakery / cake?id = 433重定向到/ bakery / pie或/ bakery / cake。我尝试重定向匹配但我错误日志显示“请求超出了10个内部重定向的限制”

这是在WordPress上运行。

RewriteEngine On
RewriteBase /

RewriteCond %{$REQUEST_URI} (pie|cake) [NC]
RewriteRule . /bakery/%1? [R,L]

上述配置有什么问题?

2 个答案:

答案 0 :(得分:1)

这最终给了我正在寻找的结果并使用WordPress:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^id [NC]
RewriteCond %{REQUEST_URI} (cake|pie.*|des.*) [NC]
RewriteRule . /bakery/%1? [R,L]

答案 1 :(得分:0)

%{$REQUEST_URI}不是正确的变量%{REQUEST_URI}。您还必须检查QUERY_STRING条件。

您可以使用:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^id=\d+ [NC]
RewriteRule ^bakery/(pie|cake)/?$ %{REQUEST_URI}? [NC,R,L]