apache mod_重写规则匹配,但返回404错误

apache mod_重写规则匹配,但返回404错误,apache,mod-rewrite,http-status-code-404,Apache,Mod Rewrite,Http Status Code 404,我在godaddy的共享linux托管计划中,试图让mod_重写正常工作。url/products/4应在/products/?id=4处显示页面,但它返回404文件未找到错误 以下是products文件夹中的.htaccess文件: Options -Multiviews RewriteEngine On RewriteRule "products/([0-9]+)/" "products/index.php?id=$1" [L] 任何日志中都没有错误。为什么这不起作用,是我做错了什么吗?

我在godaddy的共享linux托管计划中,试图让mod_重写正常工作。url
/products/4
应在
/products/?id=4
处显示页面,但它返回404文件未找到错误

以下是products文件夹中的.htaccess文件:

Options -Multiviews

RewriteEngine On
RewriteRule "products/([0-9]+)/" "products/index.php?id=$1" [L]

任何日志中都没有错误。为什么这不起作用,是我做错了什么吗?

您必须定义模式的开始和结束,例如:

RewriteRule "^search/(.*)$" "/search.php?term=$1"

经过一段时间的睡眠后,我发现这是必要的。将脚本从
/products/index.php
移动到
/products.php
,并将以下内容放入
/.htaccess

RewriteEngine On
RewriteRule "^products/([0-9]+)/?$" "products.php?id=$1" [L]

现在
/products/{id}
被正确地重写为
/products.php?id={id}

感谢您的快速响应。我添加了插入符号和美元符号,但没有变化。我也尝试过在开始和结束时使用或不使用前斜杠,但仍然不起作用。