Как заменить только часть URL с помощью htaccess?

#.htaccess #url #replace

#.htaccess #url #заменить

Вопрос:

Мне нужно изменить сгенерированный URL-адрес joomla на другой, и htaccess кажется хорошим способом сделать это. Просто я не слишком хорошо знаком с этим :/

Мне нужно создать этот URL:

 http://www.site.com/component/uddeim/?task=newamp;recip=190amp;nouserlist=141
  

Переписано в этот URL:

 http://www.site.com/community/messages?task=newamp;recip=190amp;nouserlist=141
  

?task=newamp;recip=190amp;nouserlist=141 << числовые значения являются динамическими, то есть они меняются

кто-нибудь может помочь? Спасибо…

Ответ №1:

Предполагая, что вы имеете в виду, что ваши конечные пользователи будут заходить /component/uddeim/?... в свои браузеры, используйте:

 RewriteEngine On
RewriteRule ^component/uddeim/? http://example.com/community/messages [L,QSA,R=301]
  

QSA Флаг указывает, что исходная строка запроса должна быть добавлена к новому URL-адресу, сохраняя ее в любом для нее может быть.

Комментарии:

1. это не работает: ( Я все еще вижу старый URL в адресной строке … возможно, я неправильно объяснил. Я имею в виду, сгенерированная ссылка: site.com/component/uddeim/… Я хочу, чтобы, когда я нажимаю на ссылку (или копирую и вставляю ее в браузер), она преобразуется в: site.com/community /… PS. Обе ссылки работают и открывают одну и ту же страницу.

2. @user1010703 Итак, вам нужно перенаправление, а не невидимая перезапись. Поскольку это одна и та же страница, приведенное выше правило перезаписи не будет иметь видимого эффекта, если оно работает. Добавьте [R=301] флаг для перенаправления.

3. спасибо .. он был перенаправлен, но не на правильный URL.. из этого: site.com/component/uddeim /… он был перенаправлен на: site.com/var/www/vhosts/vm1179.cs11.seeweb.it/site.com / … я сделал что-то не так?

4. я думаю, что я это сделал! 🙂 RewriteEngine на RewriteRule ^component/uddeim/? site.com/community/messages [L,QSA,R=301] СПАСИБО!! ps / я хотел дать вам балл за ответ, но это мне не позволит, потому что у меня низкая репутация: P