0
对于多语言站点,我使用以下代码自动将人员重定向到正确的页面。这很好,但不包括样式表和其他文件。.htaccess语言重定向排除
如果访问者来自法国,.htaccess中的以下代码将www.site.com变为www.site.com/fr。但它也重定向样式表和其他文件。
RewriteCond %{HTTP:Accept-Language} ^(nl.*) [NC]
RewriteCond %{REQUEST_URI} !(^/nl/.*) [NC]
RewriteRule ^(.*)$ /nl/$1 [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^(fr.*) [NC]
RewriteCond %{REQUEST_URI} !(^/fr/.*) [NC]
RewriteRule ^(.*)$ /fr/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !(^/.*) [NC]
RewriteRule ^(.*)$ /$1 [L,R=301]
www.site.com/css/style.css变成不存在 www.site.com/js/file.js www.site.com/fr/css/style.css变成不存在的www.site.com/fr/js/file.js
有没有办法创建一个自动重定向,但排除整个子目录?例如,exclude/css/。和/ js/。
谢谢。这对www.site.com/directory/page.php会有什么影响,因为它确实存在,如果法国某人访问它,则需要访问www.site.com/fr/directory/page.php – Lisa 2012-03-19 10:46:46
right,in这种情况下只需添加'RewriteCond%{REQUEST_URI}!(^/css /.*)'和'RewriteCond%{REQUEST_URI}!(^/js /.*)' – scibuff 2012-03-19 10:51:45
这会使新代码变为:RewriteCond%{ HTTP:Accept-Language} ^(fr。*)[NC] RewriteCond%{REQUEST_URI}!(^/fr /.*)[NC] RewriteCond%{REQUEST_URI}!(^/css /.*) RewriteCond %{REQUEST_URI}!(^/js /.*) RewriteRule ^(。*)$/fr/$ 1 [L,R = 301] RewriteCond%{REQUEST_URI}!(^ /。*)[NC] RewriteRule ^(。*)$/$ 1 [L,R = 301] – Lisa 2012-03-19 10:59:40