Использование RewriteRule Я пытаюсь перенаправить каждый url в подкаталог в другой подкаталог как абсолютный путь, обрезая все, что появилось после первого каталога. Пример:Перенаправление чего-либо в поддиректории на путь абсолютной директории
www.domain.com/store/search
www.domain.com/store/search?search=some_term
т.д.
все должны пойти в
WWW .domain.com/NEWDIR/
, к сожалению, результаты, которые я вижу, как, например:
www.domain.com/store/newdi r/
www.domain.com/store/newdir/?search=some_term
и так далее. Я использую эту команду в данный момент:
RewriteEngine на
поиск RewriteRule (. *) NEWDIR/[R = 301, NC, L]
Как можно перенаправить ничего/магазин/поиск только просто/newdir, обрезать все, что приходит после слова «поиск»? Благодарю.
Спасибо sdexp. На самом деле у меня есть .htaccess в обоих каталогах, root и «store». Я поместил ваши предложения в обоих и, к сожалению, все еще получаю результат, который включает в себя запрос, несмотря на удаление $ 1: http://www.domain.com/store/newdir/?search=some_term Возможно, я сделал ошибку. Вот правила, которые я добавил:
** Магазин Dir .htaccess: **
RewriteRule^поиск (. *)? $ Http://www.domain.com/newdir/ [R = 301, NC, L ] ** Root Dir .htaccess: ** RewriteRule^магазин/поиск (. *)? $ ./newdir/ [R = 301, NC, L] –
Попробуйте изменить его на 'RewriteRule^store/search (. *)? $ http: // www \ .domain \ .com/newdir/[NC, L, R = 301] '. Кроме того, иногда я бы сказал, что если у вас есть настроенное правило, оно может оставаться в кеше вашего браузера, поэтому мой совет будет заключаться в очистке кеша, повторном открытии браузера или попытке другого браузера, чтобы проверить, перенаправляется ли ваше кеш или нет. – sdexp
И не имеют дублирующего правила в двух каталогах. Выберите один и удалите правило с другого .htaccess – sdexp