.htaccess重写所有,除了一页

时间:2017-02-13 13:07:44

标签: php apache .htaccess redirect mod-rewrite

我正在尝试使用.htaccess文件解决问题。

我想使用301从我的“旧”doman重定向到“new”,除了某些页面。像“PageA”和“PageB”。

工作的代码和iam用于重定向的全部是:

RewriteCond %{HTTP_HOST} ^old.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.old.com [NC]
RewriteRule ^(.*)$ http://www.new.com/$1 [L,R=301,NC]

“PageA”和“PageB”也必须重定向到“新”域,但必须重定向到某个地址。像:

old.com/pageA  ---> new.com/something/pageA
old.com/pageB  ---> new.com/something2/pageB

我应该在.htaccess中添加什么代码,以便在某些地址中添加一些例外?

1 个答案:

答案 0 :(得分:1)

尝试以下规则,

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(pageA|pageB)$
RewriteRule ^ http://www.new.com/test/%1 [L,R=301,NC]

RewriteCond %{HTTP_HOST} ^old.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.old\.com [NC]
RewriteRule ^ http://www.new.com/$1 [L,R=301,NC]