2
我有以下規則致力於中國用戶重定向到該網站的中國語言版本:htaccess的重定向只有在HTTP引用不等於什麼
RewriteCond %{HTTP:Accept-Language} ^zh [NC]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://ch.example.com/$1 [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^zh [NC]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://ch.example.com/$1 [L,R=301]
這個偉大的工程。
但是,有一個鏈接應該將它們帶回到該網站的英文版本,這只是普通網域(www.example.com)。
但是,這只是將他們直接重定向到中國網站,因爲它符合規則。所以我需要做到這一點,所以只有當引用者不是ch.example.com時纔會觸發上述規則。
我想是這樣的:
RewriteCond %{HTTP:Accept-Language} ^zh [NC]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http?://ch\.example\.com/ [nc]
RewriteRule ^(.*)$ http://ch.example.com/$1 [L,R=301]
但它不工作。
好一點。但是,我們應該一般能夠檢查推薦是否來自* ggvc.com,然後不重定向,對嗎?所以,像這樣(儘管這不起作用) RewriteCond%{HTTP:Accept-Language}^zh [NC] RewriteCond%{HTTP_HOST}^www \ .example \ .com $ [NC] RewriteCond %{HTTP_REFERER}!^ http:// ch \ .example \ .com/[NC] RewriteCond%{HTTP_REFERER}!^ http:// www \ .example \ .com/[NC] RewriteCond%{HTTP_REFERER} !^ http:// example \ .com/[NC] RewriteRule ^(。*)$ http://ch.example.com/$1 [L,R = 301] – jazzdrive3
不應依賴HTTP_REFERER:「並非所有的用戶代理都會設置它,有些提供修改HTTP_REFERER作爲功能的能力,簡而言之,它不能真正被信任。「 – Paul
如何設置指向英文網站的鏈接,指向設置Cookie的頁面,然後重定向到英文網站。 – Paul