0

我对编程很陌生,遇到了以下问题。请给我建议。

我有一个网站,其 URL 类似于从后端数据库生成www.mysite.com/products.php?cid=3 的参数值cid(此处为 3),并且可以是从 1 到 3 的数字。

我希望 Apache 重写 URL,以便:

www.mysite.com/nike将重定向到www.mysite.com/products.php?cid=1

www.mysite.com/reebok将重定向到www.mysite.com/products.php?cid=2

www.mysite.com/kswiss将重定向到www.mysite.com/products.php?cid=3

ETC...

我在根目录下有一个名为category.txt的文本文件,内容如下:

nike 1 
reebok 2 
kwiss 3 

和 .htaccess

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
rewritemap categorymap txt:/image/categorymap.txt 
RewriteRule ^(.*) /products.php?cid=${categorymap:$1|NOTFOUND} [PT] 
</IfModule> 

但是,这不起作用,请告诉我,

4

1 回答 1

0

RewriteMap指令只能在服务器或虚拟主机配置中使用。你需要在那里定义它。如果您无权访问服务器或虚拟主机配置,那么您只需将所有这些枚举到单独的重写指令中,例如:

RewriteRule ^nike$ /products.php?cid=1 [L,QSA]
RewriteRule ^reebok$ /products.php?cid=2 [L,QSA]
RewriteRule ^kswiss$ /products.php?cid=3 [L,QSA]
于 2012-08-14T23:22:47.063 回答