2015-08-22 35 views
1

我有一些卡住。 我配置 阿帕奇.htaccess重写文件夹到子域错误

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     DocumentRoot /home/abc/Projects/ 
     ServerAlias *.example.com 
     ServerName example.com 
     ErrorLog error.log 
</VirtualHost> 

的.htaccess文件

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

我的网页是返回内部服务器错误

我如何配置的.htaccess接受

更新我的错误日志

[星期六21年8月22日:29:58.093791 2015年] [核心:错误] [PID 31081] [客户192.168.83.1:7322] AH00124:请求超过由于可能的配置错误而导致的10个内部重定向的限制。如果需要,使用'LimitInternalRecursion'来增加限制。使用 'LogLevel的调试',以获得回溯,引用者:http://test.example.com/

的Apache/2.4.10(Ubuntu的)在test.example.com服务器端口80

THK的任何有小费

+0

“内部错误”是指:查看'error.log'。关于它失败的原因有一个更具体的原因。 (禁用mod_rewrite或RewriteEngine或AllowOverride等等等)等 – mario

回答

1

你的规则无限循环并最终导致500错误。要停止,你可以使用这个附加条件:

RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC] 
RewriteRule ^(.*)$ %1/$1 [L] 

%{ENV:REDIRECT_STATUS}是第一次内部重写后置200内部mod_rewrite变量。

+1

非常感谢,它的工作:) – HoangHieu