2010-06-03 3 views
0

Все советы онлайн говорит сделать: переписать 301 URL-A URL-BКак перенаправить с одной страницы на другую с помощью mod_rewrite?

Но это не будет работать, если я включаю mod_rewrite с RewriteEngine на

Итак, я (кажется?) плохое регулярное выражение, но не нужно здесь. Как добраться:

RewriteCond %{HTTP_HOST} ^untamed-adventures.com/travel/How/tabid/58/Default.aspx [NC] 

RewriteRule ^(.*)$ http://untamed-adventures.com/ [R=301,L] 

ответ

0

%{HTTP_HOST} расширяется до ведущего запроса, поэтому он никогда не сможет соответствовать untamed-adventures.com/travel/How/tabid/58/Default.aspx, только untamed-adventures.com.

Если вы хотите отправить http://untamed-adventures.com/travel/How/tabid/58/Default.aspx в http://untamed-adventures.com/, попробуйте следующее:

RewriteCond %{HTTP_HOST} =untamed-adventures.com 
RewriteRule ^/travel/How/tabid/58/Default.aspx$ http://untamed-adventures.com/ [R=301] 

Флаг L является излишним; форвард всегда финал.

+0

А, бит RewriteRule работает, за исключением того, что нужно отказаться от ведущего/ Приветствия очень! – Dan

+0

@ Dan, только если в .htaccess или если вы установили 'RewriteBase /' – Artefacto

+0

Ah ha! Да, был в .htaccess. – Dan

0

Не совсем понятно, что вы пытаетесь сделать. HTTP_HOST - это часть имени хоста в запрошенном URL-адресе, в данном случае «untamed-adventures.com», так что RewriteCond никогда не будет соответствовать.

Я думаю, что вы пытаетесь сделать, это:

Перенаправление 301 /travel/How/tabid/58/Default.aspx http://untamed-adventures.com/

В этом случае, mod_rewrite не требуется вообще.

+0

В файле содержатся другие инструкции, для которых требуется mod_rewrite. – Dan

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