2013-10-02 3 views
0

У меня есть следующая настройка файла .htaccess, чтобы переделать весь мой трафик сайта .co.uk на сайт, где указано новое доменное имя .com..htaccess - состояние при условии?

# Redirect all requests NOT made under www.domain.com 
RewriteCond %{REQUEST_URI} !/admin 
#RewriteCond %{HTTP_HOST} !^www\.domain-name\.com [NC] 

#RewriteRule ^(.*)$ http://www.domain-name\.com/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} !^www\.domain-name\.com 

RewriteRule (.*) http://www.domain-name.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME}  !-d 

RewriteCond %{REQUEST_FILENAME}  !-f 

RewriteRule ^(.+) index.php?seo_path=$1&%{QUERY_STRING} [L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 

RewriteRule ^index\.php$ http://www.domain-name.com/ [R=301,L] 

ErrorDocument 404 /page-not-found.php 

Однако я хочу, чтобы перенаправить .co.uk/блог на новый .com/блога, однако, на данный момент, все, что происходит, когда вы посещаете .co.uk/блог перенаправляет на .com домашняя страница. - Я считаю, что это из-за;

RewriteRule ^(.+) index.php?seo_path=$1&%{QUERY_STRING} [L] 

Как бы добавить условие, чтобы отменить это, если URL-адрес заканчивается/блог?

ответ

1

На самом деле ваше первое правило составляет .co.uk - .com, которому необходимо пропустить следующее правило для /blog.

Есть свои правила, как это:

# if request_uri doesn't start with /blog or /admin 
RewriteCond %{REQUEST_URI} !^/(admin|blog) [NC] 
RewriteCond %{HTTP_HOST} !^(www\.)?domain-name\.com$ [NC] 
RewriteRule^http://www.domain-name.com%{REQUEST_URI} [R=301,L] 

RewriteCond %{REQUEST_FILENAME}  !-d 
RewriteCond %{REQUEST_FILENAME}  !-f 
RewriteRule ^(.+)$ /index.php?seo_path=$1 [L,QSA] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php[\s?] [NC] 
RewriteRule^http://www.domain-name.com/ [R=301,L] 

ErrorDocument 404 /page-not-found.php 
Смежные вопросы