URL переписать карту Apache
Я довольно новичок в программировании и столкнулся со следующей проблемой. Пожалуйста, сообщите мне.
У меня есть веб-сайт с 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
так далее...
У меня есть текстовый файл с именем 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>
Это, однако, не работает, пожалуйста, сообщите мне,
1 ответ
RewriteMap
Директива может использоваться только в конфигурации сервера или vhost. Вам нужно будет определить это там. Если у вас нет доступа ни к серверу, ни к конфигурации 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]