Php 取消设置Magento中模块设置的frontname

Php 取消设置Magento中模块设置的frontname,php,model-view-controller,magento,Php,Model View Controller,Magento,Magento有一个非常好的MVC系统,模块可以注册他们的“frontname”等等 不幸的是,如果您碰巧使用了多个存储并使存储代码显示在URI中,则is会使同一页面的许多重复URL污染您的站点。它将有效地在每个商店视图“根”和主magento根上提供一个模块 因此,我想摆脱一个模块为我创建的那些FrontName。我仍然在使用模块提供的对象,我只是不希望它也使用控制器it供应商(我构建了自己的块来加载相关数据) 所以我的问题相当简单,假设我在社区代码池模块/etc/config.xml中有类似

Magento有一个非常好的MVC系统,模块可以注册他们的“frontname”等等

不幸的是,如果您碰巧使用了多个存储并使存储代码显示在URI中,则is会使同一页面的许多重复URL污染您的站点。它将有效地在每个商店视图“根”和主magento根上提供一个模块

因此,我想摆脱一个模块为我创建的那些FrontName。我仍然在使用模块提供的对象,我只是不希望它也使用控制器it供应商(我构建了自己的块来加载相关数据)

所以我的问题相当简单,假设我在社区代码池模块/etc/config.xml中有类似的内容:

    <routers>
        <faq>
            <use>standard</use>
            <args>
                <module>Faq</module>
                <frontName>faq</frontName>
            </args>
        </faq>
    </routers>

标准
常见问题
常见问题
如何在本地代码池中设置覆盖/设置,基本上取消/禁用此frontname,以便在调用时找不到它


或者,当启用在URI中显示代码的选项时,是否可以防止在存储视图根目录上加载具有FrontName的控制器?

我建议您查看Magento中的core\u url\u rewrite表。您应该能够覆盖模块在代码中设置的URL。这并不完全令人不安,但这是解决这个问题的一种方法。

我不确定你的观点到底是什么。听起来你有SEO方面的顾虑(提到dup.url)

  • 您可以选择而不是为自定义模块声明路由器
  • 您可以只启用规范URL,任何值得索引的内容(类别/产品/cms)都将具有正确的URL
  • 您可以使用robots.txt禁止访问这些URL
  • 如果做不到这一点,您可以采取激烈(而且似乎毫无意义)的方法来取消注册路由的设置。扩展

    Mage_Core_Controller_Varien_Front
    

    将允许您控制您认为合适的受保护路由。

    “撤消该frontname,并在调用时不使用它”重新措辞,我真的不知道我在寻找什么,尝试并解释一下总是很好的:p.@meagar我很清楚。@sg3s然后不要使用它。非常简单。核心url重写表的作用正好相反。将URL转换为各自的名称空间/模块/控制器。1。这不是我的模块,我不想接触社区模块提供的文件。2.规范URL已启用,我不知道它们与此3有什么关系。但是普通用户仍然可以访问它们;这不仅仅是关于搜索引擎优化,我想防止垃圾在说谷歌分析。类重写对于一些应该很容易的事情来说似乎太过分了。。。。但也有可能。如果您希望在Anayltics中显示干净的URL,请扩展分析模块,以确保它使用参数为rewrite=true的Mage::getUrl(),然后它也会将虚荣URL报告给GA。我仍然无法理解您的担忧,如果您没有索引有问题的URL,并且没有在内部/外部链接到它们-应该没有理由担心?这些选项从长远来看并不理想,但我会接受它作为最佳答案。