.htaccess вызывает бесконечные циклы, не может переписать .net в .com с блогом - PullRequest
1 голос
/ 17 декабря 2010

У меня есть домен с .com и .net, и они оба указывают на одно и то же местоположение. Мне нужен как основной сайт, так и блог, чтобы сопоставить один URL, потому что Google отбрасывает меня за дублированный контент. Это сайт PHP и блог Wordpress.

Конечная цель - переписать каждый из этих двух наборов в два разных URL. Это возможно? Если это невозможно, может кто-нибудь порекомендовать мой ближайший вариант? Или, может быть, я должен просто устранить .net.

.com является основным сайтом, а .net припаркован в том же физическом месте.

otown411.com
www.otown411.com
otown411.net
www.otown411.net
--------------------
otown411.com   <--- **goal rewrite of any 4 above**


blog.otown411.com
blog.otown411.net
www.otown411.com/blog
www.otown411.net/blog
otown411.com/blog
otown411.net/blog
---------------------
blog.otown411.com  <--- goal rewrite from any six above

Это самое близкое, что я могу получить, он прекрасно обрабатывает верхний раздел, любые попытки получить работающий раздел блога приводят к бесконечным циклам:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{http_host} !^otown411\.com$ [NC]
RewriteRule ^(.*)$ http://otown411.com/$1 [R=301,NC,QSA,L]

1 Ответ

2 голосов
/ 17 декабря 2010

Это должно сработать:

Options +FollowSymLinks
RewriteEngine on
# Handle Blog first

RewriteCond %{HTTP_HOST} !^blog\.otown411\.com [NC] # check we're not where we want to be
RewriteCond %{HTTP_HOST} ^blog\. [NC,OR] # only if subdomo is blog OR...
RewriteCond %{REQUEST_URI} .*blog/.* [NC] # blog/ is in the URL
RewriteRule ^(blog/)?(.*?)$ http://blog.otown411.com/$2 [R=301,QSA,L]

# Now handle the rest

RewriteCond %{HTTP_HOST} !^blog\.otown411\.com [NC] # don't process for blog nor
RewriteCond %{HTTP_HOST} !^otown411\.com$ [NC] # if we're already on otown411.com
RewriteRule ^(.*)$ http://otown411.com/$1 [R=301,NC,QSA,L] 
...