rewriteRule中的mod_rewrite反向引用

时间:2013-06-04 21:51:26

标签: .htaccess mod-rewrite

当有多个RewriteCond时,是否可以在RewriteRule上有多个反向引用?

例如,我有

# Cookie value
RewriteCond %{HTTP_COOKIE} user_lang=([^;]+)$ [NC]
# /path/to/image/
RewriteCond %{REQUEST_URI} ^(/.*/)[^/]*$ [NC]
# filename.jpg
RewriteCond %{REQUEST_URI} ([^/]+)/?$ [NC]

现在我想做这项工作:

RewriteRule .* %2%3/%1 [R,L]

但我只能获得最后的条件结果。是否真的可以拥有%2,%3,%N或只有最后一个(%1)?

1 个答案:

答案 0 :(得分:2)

如果这是.htaccess,那么您应该能够在最后两个条件下使用1条规则执行此操作:

RewriteCond %{HTTP_COOKIE} user_lang=([^;]+)$
RewriteRule ^([^/]+)/([^/]+)/?$ $1/$2/%1 [R,L]

小心信任用户提供的数据。