Назад | Перейти на главную страницу

карта mod_rewrite не работает

Я пытаюсь создать простую карту mod_rewrite, чтобы названия категорий переводились в идентификаторы следующим образом: ../category/electronics -> category.php? Cat = 1

Карта помещается в папку www. Код игнорирует карту, как будто ее не существует

Это мой код перезаписи, что не так?

отредактировано: путь к catmap.txt, теперь он работает правильно

<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 должно быть:

RewriteRule ^/beta/category/(.*) /beta/category.php?cat=${cat2id:$1}

Я создал файл /var/www/beta/category.php со следующим содержанием:

<?php print_r($_GET); ?>

И вот что я получаю:

$ curl 'http://localhost/beta/category/electronics'
Array
(
    [cat] => 1
)