2013-02-20 36 views
0

我爲我們公司建立了一個新網站,我最近開始爲其工作,並將其部署到單獨的子域(http://site.mysite.com),以避免干擾某些需要保留在舊子網域上的網址。Apache2服務器上奇怪的重定向行爲?

舊的HTML網站(http://www.mysite.co/site)出於某種奇怪的原因被放置在公共/網站的Zend應用程序的公共/文件夾中。我們希望這個網站,它使用的是可在http://mysite.com/site文件夾,在http://site.mysite.com

我已經編輯現有的.htaccess文件重定向到我們的新網站,在Zend的公共文件夾內,所以它看起來像這樣:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^mysite.com [NC] 
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,NC,L] 

# These four lines are my only alterations to this file... 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^/(apps|site).* [NC] 
RewriteRule .* http://site.mysite.com/ [R=301,L]** 

RewriteRule ^cart/selectaddress$ https://%{SERVER_NAME}/cart/selectaddress [R,L] 

Redirect 301 /photobook-sa http://www.mysite.com/photobooksa/ 
Redirect 301 /photobook-SA http://www.mysite.com/photobooksa/ 
Redirect 301 /photobookSA http://www.mysite.com/photobooksa/ 

RewriteRule ^channel\.html channel\.php 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule ^.*$ - [NC,L] 

php_value session.auto_start 0 
RewriteRule ^.*$ index.php [NC,L] 
Header append P3P "CP=\"HONK IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA\"" 

AddDefaultCharset UTF-8 

的想法是陷阱http://mysite.com/apps/http://mysite.com/apps/whateverhttp://mysite.com/site/和重定向這些人都是無條件地http://site.mysite.com

問題是,重定向僅適用於/ apps和apps/whatever,不適用於/ site。所以我發現了公共/站點文件夾,它在Zend項目文件夾結構內奇怪地將公司站點作爲僅HTML站點託管。

問題是,當我刪除此文件夾,整個mysite.com和www.mysite.com域失敗,但例如mysite.com/apps仍設法重定向到site.mysite.com

所以我試着編輯公共/網站/ index.php來看看如下:

<?php 
header('Location: http://site.mysite.com'); exit; 

和它的作品,但只有少數的請求,然後我得到了服務器錯誤。

我也想加入的.htaccess公共/網站/裏面的.htaccess有以下幾點:

Redirect 301 http://site.mysite.com 

也,幾個請求後開始工作,但隨後失敗,出現服務器錯誤?

我不知道發生了什麼事,沒有線索知道爲什麼虛擬主機依賴於公共/站點文件夾工作,甚至在虛擬主機設置中沒有提及。

我對Zend application/controllers文件夾中的所有控制器進行了掃描,試圖查看是否可以找到任何遠程提及此/站點文件夾但未找到匹配項的文件。

我拉着頭髮從這個奇怪的行爲,我的頭皮可以有人請幫忙嗎?

最後一點,這是一個Amason AWS服務器,我並不完全熟悉,這個服務器是否有一些有趣的事情發生,這在Apache配置,DNS設置等方面都是非標準的神祕自動化?

+0

是不是你的活網站chache'd版本的子文件夾?如果PHP緩存等..啓用,可以解釋它? – Tschallacka 2013-02-20 10:28:46

+0

邁克爾,它可能是,但是當我改變它時,變化立即反映出來,只是在幾分鐘後失敗。 – 2013-02-20 10:37:31

+0

你使用這種配置嗎? http://docs.aws.amazon.com/AmazonS3/latest/dev/HowDoIWebsiteConfiguration.html 也許它的設置的地方有一個靜態頁面應該存儲在那裏或什麼? – Tschallacka 2013-02-20 11:58:53

回答

0

我們無法解決此問題,也無法弄清楚爲什麼我們的方法只能工作幾分鐘。我懷疑亞馬遜AWS發生了一些奇怪的事情。

我們可以修復的唯一方法是在罪魁禍首/網站文件夾中添加一個index.html,使用一個小的JavaScript代碼段從客戶端重定向網站。