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