【发布时间】:2013-04-06 03:48:18
【问题描述】:
首先,我查看了mod_rewrite - how to redirect a mistyped 'pretty' url,但是 OP 希望他输入错误的 URL 重定向到正确的,我只是希望我的到 error404。
快速提问。我正在寻找一种解决方案来改进我拥有的一些 mod re_write 代码。
目前,如果有人要在我的网站上输入一个作为产品页面的 URL,即"/products/[category]/[product-name]" .htaccess 文件有如下代码
RewriteRule ^products\/([^/]+)\/([^/]+)$ ?page=product&product=$2 [L]
这完全符合预期,但是如果有人仅输入错误的 [产品名称],模板页面仍会使用 URL 中的产品名称作为变量加载,并且不会出现 404 错误。
我这样处理所有错误页面:
#ErrorDocument 404 /index.php?page=error404
希望有人能阐明如何调整以前的重写规则,以便不存在的页面,即如果我们有一个名为kettle 的产品,并且有人在URL 的末尾输入了ketle,它将显示404,而不是仍然加载带有ketle 作为GET var 的模板页面。
提前致谢。
【问题讨论】:
标签: .htaccess mod-rewrite url-rewriting