htaccess перенаправить старый сайт на 2 разных домена

хорошо, вот сценарий:

у меня есть блог в корневом каталоге моего хоста, затем я разместил какое-то приложение в подпапке с именем fsGallery. теперь я купил новый домен для своего блога и еще один домен для своего приложения. ii хотел бы знать правильные перенаправления htaccess 301, чтобы я мог перенаправить старые каталоги на соответствующие им новые домены

вот пример структуры каталога:

root/
  /app
  [blog]

попытка: перенаправить /app на newdomainforapp.com перенаправить [блог] на newdomainforblog.com

Кроме того, изначально мое приложение принимало такие параметры URL-адреса, как: app/user/1234567.

поэтому я также хотел бы: перенаправить /app/user/{динамический целочисленный параметр} на newdomainforapp.com/profile/{динамический целочисленный параметр}

может ли кто-нибудь помочь мне plx?


person VeeBee    schedule 05.05.2009    source источник


Ответы (2)


Кажется, RewriteRule должны работать нормально.

RewriteEngine on
RewriteRule ^/?app/user/([0-9]+) http://newdomainforapp.com/profile/$1 [R=301,L]
RewriteRule ^/?app(/(.*))?$ http://newdomainforapp.com/$2 [R=301,L]
RewriteRule ^/?(.*) http://newdomainforblog.com/$1 [R=301,L]

Вам, вероятно, придется поиграть с группами, чтобы правильно перенаправлять статьи.

person outis    schedule 05.05.2009
comment
На самом деле мне больше нравится предложение Дэвида — вы пробовали это? - person outis; 05.05.2009

Возможно, это не связано с программированием, но в любом случае: правильный способ сделать это - в файле конфигурации виртуального хоста (то есть в разделе <VirtualHost *:80> ... </VirtualHost>), а не в файле .htaccess. Директивы для использования

 RedirectMatch permanent /app/user/([0-9+]) http://newdomainforapp.com/profile/$1
 Redirect permanent /app http://newdomainforapp.com
 Redirect permanent / http://newdomainforblog.com
person David Z    schedule 05.05.2009
comment
Раньше мой друг размещал меня только на поддомене, поэтому у меня нет доступа к файлам, специфичным для сервера. но в любом случае спасибо и за это. это может пригодиться теперь, когда у меня есть собственный хост. - person VeeBee; 05.05.2009
comment
Редирект и RedirectMatch работают в .htaccess. Проверьте их документацию: http://httpd.apache.org/docs/1.3/mod/mod_alias.html - person outis; 06.05.2009
comment
@outis: Верно, но все же правильный способ их использования — поместить их в основной файл конфигурации сервера. На самом деле размещение директив в конфигурационном файле vhost почти всегда предпочтительнее использования файлов .htaccess. - person David Z; 07.05.2009