301-Redirect
無限重定向循環?
我想要 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/
我通過螢火蟲找到了這些回复。任何人都知道問題可能是什麼?謝謝。
您需要 DocumentRoot 而不是 Redirect 嗎?
您在這裡所做的是將重定向發送回客戶端。因此,發生的事情是 Apache 將目前 VHost 的名稱添加到重定向目標字元串中,並發送:
Location: http://dev.test.com/var/www/cakephp/dev/webroot
當然,當它命中時,它會找到 dev.test.com VHost,然後你瞧!那裡有一個適用於此請求的重定向。因此,它很樂意將您發送到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 時才添加它。