将子域更改为子目录时,重定向循环上的.htaccess

时间:2015-01-15 19:14:10

标签: apache .htaccess mod-rewrite redirect

所以我使用htaccess将'm'子域名更改为'mobile'子目录。

我已创建此代码以在Htaccess中运行,但它返回一个内部循环。

RewriteCond %{HTTP_HOST} ^m\.
RewriteRule ^(.*) mobile/$1 [NC,L,QSA]

我正在尝试使用'm'子域重定向所有文件请求,以转到'mobile'目录。

error.log中

[Thu Jan 15 19:01:29 2015] [error] [client xxx.xxx.xxx.xxx] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

我该如何解决此问题?

1 个答案:

答案 0 :(得分:2)

你需要:

RewriteCond %{HTTP_HOST} ^m\. [NC]
RewriteRule ^((?!mobile/).*)$ mobile/$1 [NC,L]

即。仅当请求尚未包含/mobile/时才会转到/mobile/