IIRF v2.0 - Помощь с доменом и перенаправлениями - PullRequest
1 голос
/ 10 сентября 2010

У меня есть основной домен - назовем его xyz.com . У меня также есть несколько других вторичных доменов, таких как abc.com def.com, ghi.com и т. Д. Все эти домены имеют одинаковое содержимое.

Я пытаюсь выполнить перенаправление URL-адреса в IIRF, который возьмет любой из вторичных доменов и заменит его моим основным доменом xyz.

Это самое близкое, что я получил.

RewriteCond  %{HTTP_HOST}  ^(?!(.*)\.xyz\.com)$
RedirectRule ^/(.*)$        http://*1.xyz.com/$1   

Проблема № 1: с этим, если я перехожу на 123.abc.com , меня переводят на .xyz.com (Я теряю свой поддомен, я думал Я могу получить это с помощью '* 1').

Проблема №2: даже когда я захожу на www.xyz.com , меня перенаправляют на .xyz.com , это правило должно игнорировать любые xyz.com домен

Ответы [ 2 ]

1 голос
/ 15 сентября 2010

это должно сработать

#not in main.com
RewriteCond %{HTTP_HOST} !.*main.com [NC]
#get the subdomain as a backreference to use in the RewriteRule
RewriteCond %{HTTP_HOST} (.*)[a-z0-9]+\.[a-z]+$ [NC]
#Rewrite the new URL
RewriteRule ^(.*)$ http://%1main.com/$1 [NC,QSA,L]

Я не самый лучший гуру регулярных выражений, поэтому могут быть некоторые случаи, которые дают неожиданные результаты

0 голосов
/ 20 сентября 2010

Я взял у меня неделю, но получил.

##### handles 3-part domains like "xxx.yyy.com"
    RewriteCond %{HTTP_HOST} ^(.*)\.(?!xyz).*\.com$        
    RedirectRule ^/(.*)$ http://*1.xyz.com/$1 [R=301]

и

##### handles 2-part domains like "yyy.com"      
    RewriteCond %{HTTP_HOST} ^(?!xyz).*\.com$        
    RedirectRule ^/(.*)$ http://xyz.com/$1 [R=301]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...