【发布时间】:2014-08-18 17:37:34
【问题描述】:
我已尝试尽我所能查找此问题,但找不到此特定问题的直接答案。我对一些友好的 URL 有一些 .htaccess 重写规则,并希望处理可能以各种方式发生的 404 错误。
首先,这里有几个重写规则:
RewriteRule ^newsite/designer/([A-Za-z0-9_.%&-]+).html/?$ newsite/catalog.php?m=$1 [NC,L,B,QSA]
RewriteRule ^newsite/search/([A-Za-z0-9_.%'&-]+)/?$ newsite/catalog.php?kw=$1 [NC,L,B,QSA]
我想将 404 错误用于搜索 / 与设计器 / 中的 404 错误不同。每个人都有自己的目的地。但由于这些不是实际的目录,我不能只在目录中放置一个单独的 .htaccess 文件。
最终我希望所有其他 404 不被明确重定向到包罗万象,比如
ErrorDocument 404 /index.php
这可能吗?如何实现?
【问题讨论】:
-
所以你想让
/newsite/designer/blablabla转到/newsite/designer-404.php和类似地/newsite/search/blablabla到/newsite/search-404.php? -
不完全是。仅当 /newsite/designer/blablabla 的结果产生 404 错误时,我才希望它转到自定义错误页面
-
是的,这就是我使用
/blablabla的意思(通常不存在) -
那么是的。主要的是,如果链接与重写规则不匹配,则当我得到 404 时。否则,它将作为变量传递给我的脚本,该脚本从那里处理它。这很可能只会发生在 /search/ 只是在链接不匹配的情况下尝试捕获。
标签: .htaccess redirect rewrite http-status-code-404 errordocument