问题在于:我们有一个家庭(大约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框架内完成,但是假设我们有多个不同的框架,那么该选项肯定不那么吸引人。
我很感激社区对这种做法的首选方式的看法。
强文* 强文 *
答案 0 :(得分:2)
使用.htaccess文件来处理它怎么样?
只需添加一行类似于以下内容的行,您希望它将查找文件作为默认值:
DirectoryIndex index.html default.php default.htm foo.html index.cgi
.htaccess参考文档:http://httpd.apache.org/docs/current/howto/htaccess.html