首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess - condition on condition?

.htaccess - condition on condition?
EN

Stack Overflow用户
提问于 2013-10-02 16:08:26
回答 1查看 87关注 0票数 0

我有以下.htaccess文件设置将我的所有.co.uk站点流量重定向到站点的新.com域名。

代码语言:javascript
复制
# 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主页。-我相信这是因为;

代码语言:javascript
复制
   RewriteRule ^(.+) index.php?seo_path=$1&%{QUERY_STRING} [L]

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

EN

回答 1

Stack Overflow用户

发布于 2013-10-02 18:03:05

实际上,您的第一条规则是将.co.uk转换为.com,这需要跳过/blog的后续规则。

你的规则是这样的:

代码语言:javascript
复制
# 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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19132560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档