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]
Другие вопросы по тегам