Помогите, пожалуйста, решить следующую проблему. Имеется вот такого вида url’ы http://site/gallery/shkola_17/gallery.php?album=sh17_1970-1971&show=2 а надо выделить из них в качестве переменных следующие участки shkola_17, sh17_1970-1971 и 2 и перенаправить их на http://site/gallery/redirect.php?gallery= shkola_17&album=sh17_1970-1971&show=2 Не особо силен в командах для .htaccess. Написал по аналогии с одним примером вот это в файле .htaccess в папку gallery, но оно что-то не работает. RewriteRule ^(.+)/gallery.php?album=(.+)&show=(.*)$ redirect.php?gallery=$1&album=$2&show=$3 Подскажите, как решить проблему.
Если получится ссылки вида Код (Text): http://site/gallery/shkola_17/gallery.php?album=sh17_1970-1971&show=2 заменить на Код (Text): http://site/gallery/shkola_17/sh17_1970-1971/2 что не сложно, то можно сделать так Код (Text): RewriteEngine On RedirectMatch site/gallery/([0-9a-zA-Z_\-]*)/([0-9a-zA-Z_\-]*)/([0-9]*)/?$ http://site/gallery/redirect.php?gallery=$1\&album=$2\&show=$3 Как перенаправлять переменные после ? не знаю.
Nikolai_, ошибка в регулярном выражении. "?" - это зарезервированный символ, означающий "предшествующий знаку вопроса символ встречается ноль или один раз". То есть как "*", только не такой жадный. В остальном в вашем регулярном выражении ошибки не вижу - если экранировать знак вопроса, должно заработать.