我正在使用来自godaddy的共享linux主机方案,试图让mod_rewrite工作。网址/products/4
应显示/products/?id=4
处的页面,但它会返回404文件未找到错误。
这是products文件夹中的.htaccess文件:
Options -Multiviews
RewriteEngine On
RewriteRule "products/([0-9]+)/" "products/index.php?id=$1" [L]
任何日志都没有错误。为什么这不起作用,这是我做错了什么?
答案 0 :(得分:0)
您必须定义模式的开始和结束,例如:
RewriteRule "^search/(.*)$" "/search.php?term=$1"
答案 1 :(得分:0)
经过一段时间的休眠后想出来(事实证明,这是必要的)。将脚本移至/products/index.php
至/products.php
,并将以下内容放入/.htaccess
RewriteEngine On
RewriteRule "^products/([0-9]+)/?$" "products.php?id=$1" [L]
现在/products/{id}
被正确地重写为/products.php?id={id}
。