我希望能够区分来自两个不同域的来自我的网站商店的客户。例如:
local.pruebas.es → from spain
local.pruebas.extra → from extra source.
这两个域都将转到我的网站,但.extra域(例如)来自营销活动。
我认为解决方案可以是创建一个观察者,例如:
<global>
<events>
<controller_action_predispatch>
<observers>
<type>singleton</type>
<class>Mycompany_Identifycustomer_Model_Observer</class>
<method>checkCustomer</method>
</wpr_identifycustomer>
</observers>
<controller_action_predispatch>
</events>
</global>
在我的观察者中:
public function checkCustomer($observer){
//echo 'this work';exit;
var_dump( $observer->getControllerAction()->_getRefererUrl());exit;
}
但它是一个受保护的方法,我无法调用它,因为该类不继承自Mage_Core_Controller_Varien_Action
。
虚拟主机定义的一个示例:
对于local.pruebas.es
<VirtualHost *:80>
DocumentRoot "C:\Program Files\Zend\Apache2/htdocs/local.pruebas.es"
ServerName local.pruebas.es
DirectoryIndex index.html index.php index.htm
SetEnv MAGE_IS_DEVELOPER_MODE "1"
<Directory "C:\Program Files\Zend\Apache2/htdocs/local.pruebas.es">
AllowOverride All
Options All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
对于local.pruebas.extra
<VirtualHost *:80>
DocumentRoot "C:\Program Files\Zend\Apache2/htdocs/local.pruebas.es"
ServerName local.pruebas.extra
DirectoryIndex index.html index.php index.htm
SetEnv MAGE_IS_DEVELOPER_MODE "1"
<Directory "C:\Program Files\Zend\Apache2/htdocs/local.pruebas.es">
AllowOverride All
Options All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
有人可以用另一种方法帮我解决这个问题吗?
答案 0 :(得分:1)
要获取请求HTTP_REFERER标头,您应该使用
$observer->getControllerAction()->getRequest()->getServer('HTTP_REFERER');
在你的情况下。