首先,我查看了 mod_rewrite - 如何重定向错误输入的“漂亮”url,但是 OP 希望他的错误输入的 URL 重定向到正确的,我只是想让我的错误 404。
快速提问。我正在寻找一种解决方案来改进我拥有的一些 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。
提前致谢。