我试图build立一个简单的mod_rewrite地图,将类别名称翻译成id,如下所示:../category/electronics – > category.php?cat = 1
地图放在www文件夹中。 该代码忽略地图,就好像它不存在一样
这是我的重写代码,有什么不对?
编辑:catmap.txt的path,现在它正常工作
<VirtualHost *:80> DocumentRoot "${path}/www" .... RewriteMap cat2id txt:${path}/www/catmap.txt RewriteEngine On RewriteOptions Inherit RewriteLogLevel 3 RewriteRule ^/beta/category/(.*) /beta/category.php?cat={cat2id:$1} </VirtualHost>
重写规则应该是:
RewriteRule ^/beta/category/(.*) /beta/category.php?cat=${cat2id:$1}
我使用以下内容创build了文件/var/www/beta/category.php :
<?php print_r($_GET); ?>
这就是我得到的:
$ curl 'http://localhost/beta/category/electronics' Array ( [cat] => 1 )