Как разрешить Mod_rewrite читать урл и после знака вопроса? Следующая хрень не срабатывает RewriteRule ^catalog\.php\?(ua([A-z]*))+p([0-9]+)(-([_a-z]+))?(-(1))?$ /catalog.php?vm=1&dm=ua$2&page=$3&order=$5&sort=$7 [QSA]
1. Читаем: Note: Query String The Pattern will not be matched against the query string. Instead, you must use a RewriteCond with the %{QUERY_STRING} variable. You can, however, create URLs in the substitution string, containing a query string part. Simply use a question mark inside the substitution string, to indicate that the following text should be re-injected into the query string. When you want to erase an existing query string, end the substitution string with just a question mark. To combine a new query string with an old one, use the [QSA] flag. 2. гуглим 3. есть примеры
У меня проблема по проще ))) Скажите почему не работает это выражение "RewriteRule ^product/(.*)/ /product.php?id=$1" - может я написал что не так? В регулярных выражениях новичек и могу фигню писать ))) Или подскажите как правильно описать выражение что бы из адреса типа "/product.php?id=999" получить "/product/999/" ? Заранее благодарю
Код (Text): RewriteRule ^product/(\d+)(\/)*$ http://www.test.ru/product.php?id=$1 [L] Код (Text): RewriteCond %{QUERY_STRING} ^id=(\d+)$ RewriteRule ^product\.php$ http://www.test.ru/product/%1/? [L]
Второй код начал изменять, но происходит фигня - когда я перехожу по ссылке он загружает в адресную строку тот адрес который мне нужен, но страницу загружает ту же с которой я начинал переход. При этом не подружает таблицу стилей. После этого любые попытки перейти на другие страницы с загруженной заканчиваются неудачей и уже не страбатывает правило в .htaccess. В чем может быть проблема?
Я надеюсь эти два 'кода' не стоят вместе). Надо смотреть: 1 mod_rewrite лог файл 2. заголовки (например: LiveHTTPHeaders для ff)
Нет, они не стоят вместе ))) Попробую взять лог у администраторов хостинга, дело в том что сайт уже в интернете и это создает определенные трудности...