2013-09-11 4 views
1

Мы обновили Joomla 1.5 до 2.5 и много ссылок изменилось, поэтому мы делаем 301-редирект в htaccess; однако я столкнулся с кучей, которые просто не работают.301 joomla .htaccess redirect

redirect 301 /photos-a-movies/photos-of-old-friends/119-halloween/detail/946-604a927.html?tmpl=component http://www.handicappedpets.com/photos-a-movies/media-photos.html 
redirect 301 /photos-a-movies/photos-of-old-friends/101-friends/detail/671-dcp0062.html?tmpl=component http://www.handicappedpets.com/photos-a-movies/media-photos.html 
redirect 301 /photos-a-movies/photos-of-old-friends/101-friends/detail/1286-barks.html?tmpl=component http://www.handicappedpets.com/photos-a-movies/media-photos.html 

Возможно, его догоняют дерьмо в конце URL-адреса? В любом случае ... есть ли способ переадресации 301 сказать «/ photos-a-movies/photos-of-old-friends» и независимо от того, что после него перенаправляется на страницу? Или есть причина, почему эти 301-ые не работают?

EDIT:

нормально, я могу заставить его работать, если я:

redirect 301 /photos-a-movies/photos-of-old-friends/101-friends/detail/1286-barks.html http://www.handicappedpets.com/photos-a-movies/media-photos.html 

Вместо

redirect 301 /photos-a-movies/photos-of-old-friends/101-friends/detail/1286-barks.html?tmpl=component http://www.handicappedpets.com/photos-a-movies/media-photos.html 

Перенаправление http://www.handicappedpets.com/photos-a-movies/media-photos.html?tmpl=component но помещает «Tmpl = компонент? «в конце все еще. Есть ли способ избавиться от него?

ответ

0

Причина, по которой ваши первоначальные переадресации не работали, заключается в том, что вы не можете сопоставлять строку запроса (?tmpl=component часть URI) в директиве Redirect.

но он по-прежнему помещает «? Tmpl = component» в конец. Есть ли способ избавиться от него?

Вы должны добавить ? в конце целевого URL:

http://www.handicappedpets.com/photos-a-movies/media-photos.html? 

Проблема с этим после редиректа, у вас есть шальная ? в конце. Если вы не можете этого сделать, тогда вам нужно будет использовать mod_rewrite:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^tmpl=component$ 
RewriteRule ^/photos-a-movies/photos-of-old-friends/101-friends/detail/1286-barks.html$ http://www.handicappedpets.com/photos-a-movies/media-photos.html? [L,R=301] 
+0

Ah! Спасибо, кучка «?» в конце целевого URL-адреса работает просто отлично. Я знал, что у меня что-то пропало – KDD

+0

Я тоже пытаюсь сделать что-то вроде этого: RedirectMatch 301 ^/photos-a-movies/photos-of-old-friends ([^.] +) \. Html $ http: // www.handicappedpets.com/photos-a-movies/media-photos$1.htm? но он не работает на 100% ... – KDD

+0

@KDD, что вы ожидаете от перенаправленного URL-адреса? Что не работает? –