0

私はプログラミングにかなり慣れていないので、次の問題に遭遇しました。親切にアドバイスしてください。

www.mysite.com/products.php?cid=3 パラメータの値cid(ここでは 3) がバックエンド データベースから生成され、1 から 3 までの数値になるような URL を持つ Web サイトがあります。

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

等...

次の内容のルート ディレクトリの下に、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ディレクティブは、サーバーまたは vhost 構成でのみ使用できます。そこで定義する必要があります。サーバーまたは仮想ホスト構成のいずれにもアクセスできない場合は、それらすべてを次のような個々の書き換えディレクティブに列挙する必要があります。

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 に答える