Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess-条件对条件?_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

.htaccess-条件对条件?

.htaccess-条件对条件?,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,我有以下.htaccess文件设置,可以将我所有的.co.uk网站流量重新关联到sites new.com域名 # 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/$

我有以下.htaccess文件设置,可以将我所有的.co.uk网站流量重新关联到sites new.com域名

# 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/blog重定向到新的.com/blog。然而,目前,所有发生的事情都是当你访问.co.uk/blog时,它会重定向到.com主页我相信这是因为,

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

如果URL以/blog结尾,我如何添加一个条件来否决此项?

实际上,您的第一条规则是将
.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