1

我想为 SEO 优化制作 URL。

My URL is: supplements.html?manufacturer=166
I want URL like: supplements/manufacturer/scivation.html

(scivation 是 id 166 的制造商和补充类别,制造商是属性)

任何帮助将不胜感激。在此先感谢。

4

1 回答 1

0

因为“补充”是一个类别(会发生变化),所以在没有硬编码的情况下使用书写规则会更加困难。一种可能的解决方案是使用Mage::getModel('core/url_rewrite')( example ) 为每个创建路由(使用此方法您可能会遇到问题)

另一种解决方案是更改 url 格式

/制造商/补充/scivation.html

然后创建一个自定义模块

配置文件

<global>
    <rewrite>
      <fancy_url>
            <from><![CDATA[/manufacturer\/(.*)/(.*)/]]></from>
            <to><![CDATA[manufacturer/index/processroute/manufacturername/$2/]]></to>
            <complete>1</complete>
       </fancy_url>
    <rewrite>
</global>
<frontend>
    <routers>
        <tagseo>
            <use>standard</use>
            <args>
                <frontName>customcategory</frontName>
            </args>
        </tagseo>
    </routers>

class MageIgniter_Manufacturer_IndexController extends Mage_Core_Controller_Front_Action
{
     public function processRoute(){
           print_r($requestUri = Mage::app()->getRequest()->getRequestUri()); //supplements/scivation.html
           print_r($this->getRequest()->getParam('manufacturername')); // scivation.html
           print_r($this->getRequest())
           // do you custom logic here base on about request path explode('/', trim($requestUri,'/'))

           //lookup the attribute_id from attribute name 
           //if attribute_id found then try 
           //$this->_forward(string $action, [string|null $controller = null], [string|null $module = null], [ $params = null])
           // to the catalog page
           // else  $this->_forward('defaultNoRoute');


     }
     ...

阅读更多 @

使用 Magento xml 进行简单的 URL 重写

Magento 路由器 URL - 需要连字符路径名

Magento V1.7 网格视图 - 将制造商属性添加到视图

于 2012-11-23T01:05:56.743 回答