0
目前我已將以下代碼添加到.htaccess。此代碼檢測瀏覽器的語言和西班牙遊客轉發到/ ES/RewriteCond HTTP:Accept-Language所有子文件夾
當用西班牙語訪問mysite.com用戶會被自動發送到mysite.com/es/
RewriteEngine On
RewriteCond %{HTTP:Accept-Language} ^(es.*) [NC]
RewriteCond %{REQUEST_URI} !(^/images/.*)
RewriteCond %{REQUEST_URI} !(^/es/.*) [NC]
RewriteRule ^(.*)$ /es/$1 [L,R=301]
這工作得很好,但不適用於子文件夾。例如,如果同一用戶訪問mysite.com/page/,他們不會發送到mysite.com/es/page/
如何更改代碼以便適用於所有子文件夾?
喜歡的話是可能的,如果你訪問site.com/page/test/你將被自動重定向到www.site.com/page/test/然而,這樣的事情確實以www重定向
rewriteCond %{HTTP_HOST} !site.com
rewriteRule ^(.*)$ site.com/$1 [R=301,L]
似乎無法使用語言從www.site.com/page/test/轉到www.site.com/es/page/test/
謝謝。有超過1000個子文件夾(每個頁面/文章)的博客將是一項不可能完成的任務。 – Lisa
在這種情況下,請嘗試將這些規則放在主Apache配置文件中,例如httpd.conf或/ etc/apache2/sites-available/default。 – Ansari
有沒有辦法做到這一點沒有root權限?我希望可以在.htaccess中對RewriteCond%{HTTP:Accept-Language}進行說明,並將所有子文件傳遞給root和所有子文件夾。喜歡它可能與www重定向 rewriteCond%{HTTP_HOST}!site.com rewriteRule ^(。*)$ http://www.site.com/$1 [R = 301,L]如果您訪問site.com/頁面/測試/您將自動重定向到www.site.com/page/test/然而,類似這樣的東西似乎不適用於從www.site.com/page/test/到www.site.com的語言/ es/page/test/ – Lisa