2013-04-07 2 views
1

Im пытается перенаправить старые кешированные ссылки Google на наш новый сайт. Поэтому он работает в моем редакторе regexp, но не в моем htacess-файле?regexp + modrewrite просто работает

Первое правило, похоже, работает, но второе не делает. Я оставил примеры выше правил.

# Legacy site redirects 
# For homes home and search: 
# www.site.ie/results_lost_found.html?search_type=lost_found&ad_type=&location_id=&x=31&y=12 
RewriteRule ^results_lost_found|results_home(.+)search_type=lost_found(.*)$ lost_found [NC,R=301,L] 
# www.site.ie/results_home.html?search_type=for_home&pet_type_id=&location_id=&x=14&y=10 
RewriteRule ^results_lost_found|results_home(.*)search_type=for_home(.*)$ for_homes [NC,R=301,L] 

ответ

1

Ни одно из ваших правил не будет работать, поскольку RewriteRule соответствует только URI без строки запроса. В mod_rewrite вы могли бы сделать что-то вроде этого:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^search_type=lost_found&ad_type=&location_id=&x=31&y=12$ [NC] 
RewriteRule ^(results_lost_found|results_home)\.html$ /lost_found? [NC,R=301,L] 

Примечания использования строки запроса переменной %{QUERY_STRING}, чтобы соответствовать вашей строке запроса.

+0

Да. это сработало для меня. благодаря –