Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redirect Apache2服务器上奇怪的重定向行为?_Redirect_Amazon Web Services_Apache2_Rewrite_Subdomain - Fatal编程技术网

Redirect Apache2服务器上奇怪的重定向行为?

Redirect Apache2服务器上奇怪的重定向行为?,redirect,amazon-web-services,apache2,rewrite,subdomain,Redirect,Amazon Web Services,Apache2,Rewrite,Subdomain,我为我们公司建立了一个新网站,我最近开始为其工作,并将其部署在一个单独的子域()上,以避免干扰需要保留在旧子域上的一些URL 出于某种奇怪的原因,旧的HTML站点()被作为public/site放在Zend应用程序的public/文件夹中。我们希望将此网站(以前在文件夹中可用)重定向到位于的新网站 我在Zend公用文件夹中编辑了现有的.htaccess文件,使其看起来像这样: RewriteEngine On RewriteCond %{HTTP_HOST} ^mysite.com [NC]

我为我们公司建立了一个新网站,我最近开始为其工作,并将其部署在一个单独的子域()上,以避免干扰需要保留在旧子域上的一些URL

出于某种奇怪的原因,旧的HTML站点()被作为public/site放在Zend应用程序的public/文件夹中。我们希望将此网站(以前在文件夹中可用)重定向到位于的新网站

我在Zend公用文件夹中编辑了现有的.htaccess文件,使其看起来像这样:

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
我们的想法是将设为陷阱,无条件地将它们重定向到

问题是,重定向只适用于/apps和apps/任何东西,而不适用于/site。因此,我发现了public/site文件夹,它奇怪地将公司站点作为一个纯HTML站点托管在Zend项目文件夹结构中

问题是,当我删除此文件夹时,整个mysite.com和www.mysite.com域都会失败,但例如mysite.com/apps仍然能够重定向到site.mysite.com

因此,我尝试编辑public/site/index.php,如下所示:

<?php
header('Location: http://site.mysite.com'); exit;
哪种方法最初也可以工作,但在几次请求后由于服务器错误而失败

我不知道发生了什么,也不知道为什么虚拟主机依赖于public/site文件夹工作,这在虚拟主机设置中甚至没有提到

我将Zend application/controllers文件夹中的所有控制器设置为灰色,以尝试查看是否可以找到任何远程提及此/site文件夹的内容,但未找到匹配项

我有这种奇怪的行为,真是让人毛骨悚然,有人能帮我一下吗


还有最后一点,这是一个Amason AWS服务器,我并不完全熟悉,可能是这个服务器有一些有趣的地方,在Apache配置、DNS设置或神秘的automagic方面是非标准的吗?

我们还不能解决这个问题,也无法理解为什么我们的方法只在几分钟内有效。我怀疑亚马逊AWS发生了一些奇怪的事情


我们唯一可以修复的方法是,在culprit/site文件夹中添加index.html,使用一个小JavaScript片段从客户端重定向站点。

子文件夹不是您的live站点的一个错误版本吗?如果php缓存等。。可以解释吗?Michael,可以,但是当我更改它时,更改会立即反映出来,几分钟后就会失败。您使用这种配置吗?也许它是在某个地方设置的,一个静态页面应该存储在那里还是什么?
Redirect 301 http://site.mysite.com