2017-05-30 117 views
1

我使用Magento的,我有这个字符串: /轮辋/奔驰/ E级/ W211隐藏NGINX重写URL段到查询字符串PHP

而且我想为当用户访问: 'site.com/rims/mercedes-benz/e-class/w211' 为PHP(Magento的)来处理URL为:? /轮辋品牌=奔驰&模型= E级&类型= W211

我不想重定向用户,他们仍然可以看到他们到达的确切URL,但仅用于PHP将参数分解为查询字符串。

回答

0

你可以通过为frontName rims创建你自己的路由器来实现这一点,然后你可以用url中的参数来做任何你想做的事情。

要做到这一点,你需要在你的模块的这样的config.xml中注册您的路由器:

<frontend> 
    <routers> 
     <your_module> 
      <use>standard</use> 
      <args> 
       <frontName>rims</frontName> 
       <module>Your_Module</module> 
      </args> 
     </your_module> 
    </routers> 

然后在根据控制器Your_Module文件夹(注意大写C)添加Router.php文件,像这样:

class Your_Module_Controller_Router extends Mage_Core_Controller_Varien_Router_Standard { 

    public function match(Zend_Controller_Request_Http $request) { 
     // add the logic to deal with params here 
    } 
} 
+0

这对我有效。我做的不同之处在于命名文件夹'Controller',并且我必须将模块的配置设置为使用新的路由控制器。 谢谢! –