Понимаю, что немного не по теме (это скорее к Apache, чем к PHP), но все-таки — вдруг кто подскажет? Хочу, чтобы у меня ссылки вида Код (Text): notes/name.html?hl=keywords конвертились в Код (Text): note.php?page=name&hl=keywords Для осуществления сего вроде бы должна подходить такая строка в .htaccess: Код (Text): RewriteRule ^notes/(.+)\.html\?hl=(.+)$ /note.php?page=$1&hl=$2 Не работает. Почему — непонятно. Регэкспу проверял во многих местах, работает везде. Тут — нет. Если кто сталкивался с такой проблемой и знает пути решения, помогите, пожалуйста.
Luchinsky для добавления передаваемых параметров надо юзать [QSA] ' qsappend|QSA ' (query string append) This flag forces the rewriting engine to append a query string part in the substitution string to the existing one instead of replacing it. Use this when you want to add more data to the query string via a rewrite rule. http://www.opennet.ru/docs/RUS/mod_rewrite/ - читать до просветления
Тоже по mod_rewrite С помощью данного ресурса освоился с mod_rewrite СПАСИБО. только остался один вопрос. где-то тут говорилось что в .htaccess правила выполняются дольше чем добавленые в conf Апача не подскажите как именно добавить правила перезаписи в конфигурацию? конкретно внутри VirtualHost Заранее спасибо
Олег, я все понимаю. Делал я так Код (Text): <VirtualHost ...> #описание хоста ... #много строк кода для mod_rewrite, которые были протестированы на работоспособность в .htaccess #первая строка это RewriteEngine On #далее 16 рабочих условий RewriteRule ЧТО КУДА </VirtualHost> ни работает :roll: .htaccess лежит в корне сайта. если его там нет а его контент в virtualhost перенесен то ничего не работает