Apache htaccess从301重定向中排除特定的URL

时间:2016-05-27 11:08:02

标签: php apache .htaccess redirect

在apache系统上,我使用此.htaccess添加了从旧服务器到新服务器的重定向:

redirect 301 / http://www.new-domain.com/redirect.php?q=

但我想排除此网址的重定向:

http://domain.com/index.php/admin/

对URL中包含此部分的旧管理员区域的每个请求" /index.php/admin"应保留在旧服务器上,不得重定向到新服务器。

如何实现?

2 个答案:

答案 0 :(得分:1)

您可以使用mod_rewrite规则代替不允许使用正则表达式的Redirect

RewriteEngine On

RewriteRule !^index\.php/admin http://www.new-domain.com/redirect.php?q=%{REQUEST_URI} [L,NE,R=302]

答案 1 :(得分:0)

您可以将Redirect指令包含在If

<If %{REQUEST_URI} != "/index.php/admin/">
    Redirect ...
</If>