通过.htaccess重定向无法正常工作

时间:2015-01-12 10:43:36

标签: apache .htaccess mod-rewrite redirect

我有一个拥有子域(附加组件)的域名。我正在尝试将用户从主(旧)域重定向到子域(新)之一。

首先,我尝试重定向用户在OLD域中输入的所有内容,除了一个页面和一个目录......现在,这个EXCEPT功能已经失去控制。我一直在尝试并实现所有可能的选项,但有些选项会出错并停止重定向。

以下是我正在尝试的.htaccess文件中的行:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} oldrootdomain.com [NC]

RewriteRule ^/view_card.php(.*)$ http://newsubdomain.com/view_card.php$1
RewriteRule ^/m/(.*)$ http://oldrootdomain.com/m/$1

RewriteRule ^(.*)$ http://newsubdomain.com/ [R=301,L]

1 个答案:

答案 0 :(得分:0)

看起来你遇到了一个无限循环。 您不希望重定向这些异常。所以尝试一些额外的RewriteCond s

RewriteCond %{HTTP_HOST} oldrootdomain.com [NC]
RewriteCond %{REQUEST_URI} !view_card.php$
RewriteCond %{REQUEST_URI} !m/.*$
RewriteCond %{REQUEST_URI} !m$

RewriteRule ^(.*)$ http://newsubdomain.com/ [R=301,L]

此外,您似乎还没有完全理解RewriteCond / RewriteRule的事情

RewriteCond的任何连续 影响直接跟随 RewriteRule