2013-10-02 2 views
0

다음 .htaccess 파일 설정을 사용하여 모든 .co.uk 사이트 트래픽을 새 .com 도메인 이름 사이트로 재 지정합니다. 나는 순간, 그러나 새로운 .COM/블로그 .co.uk에서/블로그를 리디렉션 할 그러나.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로 리디렉션 블로그를 방문 할 때입니다 홈페이지. - 나는 이것이 있다고 믿는다.

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

URL이 끝나면/블로그를 덮어 쓰려면 어떻게해야합니까?

답변

1

실제로 첫 번째 규칙은 /blog에 대한 후속 규칙을 건너 뛸 필요가있는 .co.uk ~ .com이됩니다.

이 같은 규칙을 가지고 :

# 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