匹配缺少某些标头的HTTP请求

时间:2013-09-27 12:42:42

标签: .htaccess apache2

假设我的.htaccess

中有以下重定向
RewriteCond %{HTTP:Accept-Language} ^pl [NC]
RewriteRule ^$ /pl/ [L]
RewriteRule ^$ /en/ [L]

如何扩展它,所以缺少Accept-Language标头的请求将被重定向到/ pl /?

2 个答案:

答案 0 :(得分:2)

您可以使用:

RewriteCond %{HTTP:Accept-Language} !^[a-z]{2}- [NC]
RewriteRule ^ /pl%{REQUEST_URI} [L,R]

答案 1 :(得分:1)

看起来您只需要切换规则的顺序,使/pl为默认值:

RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ /en/ [L]
RewriteRule ^$ /pl/ [L]

因此,如果某人具有en的接受语言,则会重写为/en,否则会重写为/pl