我想要dev.test.com,去特定的目录/var/www/cakephp/dev/webroot 。 这是我的apache2 conf文件:
<VirtualHost *:80> ServerName dev.test.com Redirect permanent / /var/www/cakephp/dev/webroot </VirtualHost>
我一直在获得连续的301 Moved permanently响应(直到服务器停止发送它们,或者是浏览器停止请求它们?)
GET dev.test.com: http://dev.test.com/var/www/cakephp/dev/webroot GET webroot: http://dev.test.com/var/www/cakephp/dev/webrootvar/www/cakephp/dev/webroot GET webroot: http://dev.test.com/var/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webroot [...] 21 requests later (seriously): GET webroot: http://dev.test.com/var/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webrootvar/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot/
我通过萤火虫发现了这些反应。 任何人都知道问题可能是什么? 谢谢。
而不是redirect,是不是你需要一个DocumentRoot?
你在这里做的是发送一个redirect回到客户端。 因此,发生的事情是,Apache将当前VHost的名称添加到redirect目标string中,并发送:
Location: http://dev.test.com/var/www/cakephp/dev/webroot
当然,当这个命中时,它会发现dev.test.com VHost,并且瞧! 那里有一个适用于这个请求的redirect。 所以它很高兴地把你发送到http://dev.test.com/var/www/cakephp/dev/webroot/(yourrequeststring) ,它可以用来:
Location: http://dev.test.com/var/www/cakephp/dev/webroot/var/www/cakephp/dev/webroot
现在有道理? 无论如何,你需要的是:
<VirtualHost *:80> ServerName dev.test.com DocumentRoot /var/www/cakephp/dev/webroot <Directory /var/www/cakephp/dev/webroot> Order allow,deny Allow from all Deny from none </Directory> </VirtualHost>
该部分是可选的; 只有当您尝试使用带有新的DocumentRoot指令的站点时,才会添加403。