2013-09-29 7 views
2

мне нужно удалить часть Joomla/Virtuemart генерируется SEF URI с помощью .htaccess URI, представляет собой иерархию меню и структурировано таким образом:стирания часть URL с использованием Htaccess переписать

Интернет-магазин - внутренний-магазин -продуктовой каталог

это результирующий URI:

www.domain.com/online-store/inner-store/product-catalog 

я хотел бы изменить его на:

www.domain.com/online-store/product-catalog 

думал, что это может помочь, но его не делает никакой разницы

Options +FollowSymLinks 
RewriteEngine On  

RewriteRule ^online-store/inner-store/\d+-(.+) /online-store/$1 [R=301,L] 

я знаю его не считается хорошей практикой, но я не могу изменить структуру меню.

любые предложения?

ответ

2

Это регулярное выражение \d+-(.+) будет соответствовать 1 или более цифр с последующим дефисом с последующим 1 или более любая вещь

Попробуйте этот код вместо:

RewriteRule ^(online-store)/inner-store/(.*)$ /$1/$2 [R=301,L,NC] 

Убедитесь, что это первое правило в вашем .htaccess и использовать другой браузер, чтобы проверить его, чтобы избежать проблем с кешированием.

+0

Привет, @anubhava, похоже, работает, но теперь все под/онлайн-магазином перенаправляется на /index.php?option=com_virtuemart. Я предполагаю, что маршрутизатор virtuemart должен быть обработан – buzibuzi

+0

Это правило будет просто перенаправлять '/ online-store/inner-store/product-catalog'' в'/online-store/product-catalog', после чего необходимо будет использовать маршрутизатор virtuemart. Как я уже сказал, просто убедитесь, что выше правило является первым правилом в вашем .htaccess перед обычным правлением маршрутизатора virtuemart. – anubhava

+0

спасибо, я постараюсь сделать это – buzibuzi

Смежные вопросы