协调多个默认页面的首选方法是什么?

时间:2010-10-28 02:51:40

标签: apache web-applications web-frameworks

问题在于:我们有一个家庭(大约8个)网站,每个网站都托管在一个域的不同子域中,这个子域通用于每个家庭成员。例如,

ecommerce.my_domain.com
forums.my_domain.com
signup.my_domain.com

由于各种原因,每个子域都是单独与其他子域管理 - 即不同的服务器,相对于其他几乎所有开发决策都是自主完成的,包括选择Web框架 - 例如,两个是Django,一个是Zend,依此类推(尽管都运行Apache 2.2)。我们想解决这个问题,有一天我们会这样做,它不会很快就会出现。

此结构的一个直接后果是我们有 多个默认页面名称 。通过“默认页面”,我指的是当子域上没有页面时服务器默认的页面 - 有时它是'index.html',有时是'index.php'等等(我知道它们是什么,这是因为有多个页面存在问题。)

(默认页面是指定域上没有页面时服务器默认的网页。例如,如果输入“www.my_domain.com”时提供“index.html”页面,则“索引” .html“是默认页面。)

以下是它导致的一个问题:我们的分析代码(javascript)会将网页浏览量计入subdomain1.my_domain.com subdomain1.my_domain.com/index.html作为两个单独的网页< / em>,除非指定了正确的默认页面。本身,这可能会导致基本页面视图测量中出现双重错误。此外,分析系统(Google Analytics)仅允许指定单个默认页面。

在研究之后,似乎一种方法是在服务器(Apache 2.2):( i)创建一个CGI目录而不使用ScriptAlias; (ii)仅在请求目录时使用DirectoryIndex指定默认文档。

我认为这也可以在支持每个子域属性的Web框架内完成,但是假设我们有多个不同的框架,那么该选项肯定不那么吸引人。

我很感激社区对这种做法的首选方式的看法。

强文* 强文 *

1 个答案:

答案 0 :(得分:2)

使用.htaccess文件来处理它怎么样?

只需添加一行类似于以下内容的行,您希望它将查找文件作为默认值:

DirectoryIndex index.html default.php default.htm foo.html index.cgi

.htaccess参考文档:http://httpd.apache.org/docs/current/howto/htaccess.html