2016-05-24 2 views
0

как я могу это решить?Howto Redirect 301 строгий URL без параметров?

.htaccess

Redirect 301 /item/ /itemlist/ 

да это работает, но не идеально!

Проверьте это:

domain.com/item/ = domain.com/itemlist/ = OK 
domain.com/item/archive/ = domain.com/itemlist/archive/ = OK 
domain.com/item/single-item/ = domain.com/itemlist/single-item/ = FAIL 

последний элемент должен быть:

domain.com/item/single-item/ 

Так как я могу сказать только, если "/ элемент /" является обнаружение в URL без каких-либо других вещей после этого?

+0

Это не имеет смысла. Второй и третий URL-адреса должны обрабатываться одинаково. Либо перенаправляя, либо не перенаправляя. – arkascha

ответ

2

Redirect будет соответствовать фронту URL.

Используйте RedirectMatch для большей точности. Он принимает регулярные выражения.

RedirectMatch 301 "^/item/$" /itemlist/ 

... помните, что ваш браузер, вероятно, кэшируются предыдущий 301 редиректа, поэтому он не может показаться, что работает, когда вы удалите старые директивы Redirect у вас есть.

+0

спасибо большое :) отлично работает. Я пробовал это регулярное выражение только с помощью «Перенаправления», а не «RedirectMatch»: D – kaito