Я хотел бы понять разницу между перенаправлением и переписыванием URL-адреса с помощью .htaccess.
Итак, вот пример: Скажем, у меня есть ссылка вроде www.abc.com/ index.php?page=product_types&cat=88
(назовите это "оригинальным" url)
Но когда пользователь вводит в abc.com/shoes
(позвольте называть этот "желаемый" url), им нужно увидеть содержимое вышеуказанной ссылки. Для этого я бы сделал следующее:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)shoes(.*)$ index.php?page=product_types&cat=88
Ничего плохого в этом коде, и это трюк. Однако, если я набираю исходный url в адресной строке, содержимое появляется, но URL-адрес не изменяется. Таким образом, он остается www.abc.com/index.php?page=product_types&cat=88
Но что, если я хочу, чтобы желаемый url (/shoes
) отображался в адресной строке, если я набрал www.abc.com/ index.php?page=product_types&cat=88
? Как это сделать с использованием .htaccess? Я столкнулся с потенциальной петлей?