2010-03-13 1 views
0

Я пытаюсь переписать следующий URL:перезаписи одного URL-адрес помощь

index.php?route=checkout/cart 

к

/cart 

с помощью:

RewriteRule ^index.php?route=checkout/cart$ /basket [L] 

Однако это не похоже на работу. Кто-нибудь знает, что я делаю неправильно?

Благодаря

+0

Чтобы избежать очевидного: '/ cart' или'/basket'? – BalusC

ответ

0

RewriteRule тестирует только URL path. Вам нужно RewriteCond протестировать запрос:

RewriteCond %{QUERY_STRING} ^route=checkout/cart$ 
RewriteRule ^index\.php$ /basket [L,R=301] 

Дополнительный R=301 флаг будет вызывать внешний редирект с кодом состояния 301 (постоянный редирект) вместо внутреннего редиректа.

И если вы хотите, наоборот:

RewriteRule ^basket$ index.php?route=checkout/cart [L] 
0

Вам нужно отправить редирект, чтобы новый URL получить отражение в адресной строке браузера. Итак, добавьте R в [L].

RewriteRule ^index.php?route=checkout/cart$ /basket [R,L] 

Если вы хотите, что searchbots следует игнорировать «уродливый» URL и/или удалить его из индексов и использовать новые вместо, а затем отправить 301 редирект.

RewriteRule ^index.php?route=checkout/cart$ /basket [R=301,L] 

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

  • Нет связанных вопросов^_^