2016-02-25 65 views
0

我在从godaddy共享Linux托管计划,试图让mod_rewrite工作。网址/products/4应该在/products/?id=4处显示页面,但它会返回404文件找不到的错误。apache mod_rewrite规则匹配但返回一个404错误

下面是产品文件夹中的.htaccess文件:

Options -Multiviews 

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

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

回答

0

你必须定义,例如启动和模式的结束:

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

感谢您的快速响应。我添加了脱字号和美元符号但没有改变。我还尝试了在开始和结束时使用和不使用正斜杠,但仍然无法正常工作。 – LEGEND383

0

想通了一些睡眠之后(事实证明,这是必要的)。移动剧本在/products/index.php/products.php,把下面的/.htaccess

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

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