301 перенаправить все на новый корень?

Я пытаюсь сделать 301 редирект всего со старого поддомена на новый.

У меня есть простой .htaccess

Redirect 301 / http://www.smartphonesoft.com/

Однако, если я перехожу к старому URL-адресу с подкаталогом, он пытается перенаправить на новый домен с помощью подкаталога и терпит неудачу.

ie

http://forum.smartphonesoft.com/reminder/

идет к

http://www.smartphonesoft.com/reminder/

Когда я хочу, чтобы это было

http://www.smartphonesoft.com/

Как я могу просто перенаправить все в новый корень домена?


person kitenski    schedule 27.06.2010    source источник


Ответы (2)


С помощью Redirect вы определяете базовый путь (префикс пути), который быть перенаправленным; каждый путь за этим перенаправляется, просто заменяя базовый путь новым базовым путем.

Если вы хотите придерживаться mod_alias, вы можете использовать RedirectMatch и опустите совпадение:

RedirectMatch 301 ^/ http://www.smartphonesoft.com/
person Gumbo    schedule 27.06.2010
comment
+1 за публикацию ответа, о котором я должен был подумать изначально, пока редактировал, хех. - person Tim Stone; 28.06.2010
comment
спасибо, кажется, это работает для всего, кроме.... forum.smartphonesoft.com/reminder - person kitenski; 28.06.2010

Предполагая, что ваш сервер поддерживает mod_rewrite, вы можете сделать это:

RewriteRule . http://www.smartphonesoft.com/ [R=301,L]

В качестве альтернативы, придерживаясь mod_alias, это также должно работать (но я не пробовал):

RedirectMatch 301 .* http://www.smartphonesoft.com/
person Tim Stone    schedule 27.06.2010