Magento 1.6+ 创建订单和返回页面 (www.yourstore.com/sales/guest/form/) 并在页脚中放置指向该页面的链接。
通过在 local.xml ( see this stackoverflow answer ) 中添加布局更新,可以轻松删除页脚中的链接。
但该页面仍然存在,可以被 Google 索引,应该删除。如何通过代码删除这个默认的 Magento 页面?
编辑: 我想澄清一下,我并不是在寻找重定向、重写或 404 类型的答案。我正在寻找一种方法来从字面上删除或覆盖首先创建此页面的任何功能,这样它就永远不会被创建。我的理论是,如果存在创建它的功能,那么应该有一种方法来删除该功能。我知道还有其他通过重写等隐藏 URL 的方法。但在我看来,首选方法是不创建不需要的页面,然后再隐藏它们。我认为 Magento 有某种方法可以不生成它生成的页面。类似于 local.xml 删除不需要的代码块的方式。是否有类似的方法可以从一开始就防止创建不需要的页面?
最佳答案
最简单的方法是使用 URL 重写将请求重新路由到 Magento 的 404 页面。在 .htaccess 文件中,在 RewriteEngine on
之后添加以下两行在其他重写规则之前:
RewriteCond %{REQUEST_URI} ^/sales/guest/form
RewriteRule .* errors/404.php
如果您只需要从单个站点删除此功能,您可以将其包装在 Apache 的 <If>
中。语法如下:
<If "%{HTTP_HOST} != 'www.example.com'">
RewriteCond %{REQUEST_URI} ^/sales/guest/form
RewriteRule .* errors/404.php
</If>
如果您更喜欢使用 PHP 代码来完成此操作,其他替代方法包括重写 Mage_Sales_GuestController 类以返回到 404 页面的重定向。或者,您可以在路由发生之前操纵路由器从路由表中删除 URL。这两个解决方案都比 .htaccess 解决方案复杂得多。
关于magento - 如何删除 Magento 订单和返回页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9625352/