首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Magento中捕获404最好的方法是什么?

在Magento中捕获404最好的方法是什么?
EN

Stack Overflow用户
提问于 2013-04-30 10:12:35
回答 3查看 764关注 0票数 2

我正在编写一个自定义Magento模块来处理网站的404个网址,以满足一些营销要求。我想知道捕获404并在进入Apache404页面之前通过我的模块传递它们的最好方法是什么?

我有几种人们这样做的方法,但不是专门针对Magento的。因此,请随时提供您的专家建议。谢谢!

EN

Stack Overflow用户

发布于 2013-04-30 10:29:28

您不需要特定于CMS的方法。只需添加到您的.htaccess文件:

代码语言:javascript
运行
复制
ErrorDocument 404 /some_php_script.php

或者像这样,使用mod_rewrite:

代码语言:javascript
运行
复制
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ some_php_script.php/$1

后者的优点是可以让您访问POST数据。这个php脚本负责以某种方式连接到您的CMS代码。

你应该能够用$_SERVER['REQUEST_URI']得到原始的url。此脚本负责使用header()函数通过200 OK404 Not Found回复状态

编辑:原来magento已经这样做了(所有的非静态urls都被路由到index.php)。我不太熟悉内容管理系统,但它似乎显示了一个带有标识符"no-route“的页面,所以希望您可以用所需的内容替换该页面的内容(相关代码是Mage_Cms_Model_Page类、NOROUTE_PAGE_IDnoRoutePage()函数)。当你试图理解如何处理代码时,grep -r是你的朋友,别人写道:D

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16291148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档