在根目录中重命名index.php

时间:2012-02-25 04:34:37

标签: .htaccess root file-rename

我的根目录上有两个应用程序,我试图将它们保存在那里,但它们都有index.php文件作为目录索引。有没有办法重命名或更改其中一个,所以他们不重叠。或者让它们共存在一起。

这些是我试图保留在同一目录下的应用程序。

app#1 https://github.com/wolfcms/wolfcms

app#2 http://opencart.googlecode.com/svn/trunk/upload/

1 个答案:

答案 0 :(得分:1)

你不能不修改这两个应用程序。为什么不呢?

两个应用程序都使用htaccess重写来将请求映射到例如

GET /thisPath/SomeFutherContext

执行DOCROOT/thisPath/.htaccess,重写请求进行内部重定向到DOCROOT/thisPath/index.php,然后作为中央结算所来处理SomeFutherContext

要让两个人坐在同一个thispath,你需要整合他们的.htaccess文件,有两个结算所条目,比如indexwolf.php和indexshop.php,并且能够.htaccess通过一些正则表达式解码SomeFutherContext,以便你可以发送到正确的。{/ p>

但是,设置它们以使其基于http://yourdomain/wolfcms/而另一个基于http://yourdomain/shop/是微不足道的,只需按照两者的安装指南并在{中安装opencart {1}}根据指示将DOCROOT/thisPath/shop/文件中的RewriteBase更改为.htaccess

顺便说一句,

  1. 如果您正在共享服务上运行,则php_flag指令将不起作用。您需要配置自己的php.ini
  2. 有人应告诉WolfCMS开发人员,位置标题应符合RFC 1945; - )
  3. 附录

    如果您的托管服务提供商支持通配符子域映射器(默认情况下大多数都支持,请检查您的HSP常见问题解答或在此处回复您的托管服务提供商),然后您可以使用子域名,例如RewriteBase /shop/ wolfcms.yourdomain将其与您的商店分开,在.htaccess之后立即将以下内容添加到您的docroot RewriteBase /

    RewriteCond %{HTTP_HOST} =wolfcms.yourdomain
    RewriteRule ^.*          wolf/$0              [L]
    

    然后将WolfCMS存储在Docroot/wolf中,其.htaccess位于DOCROOT/wolf/.htaccessRewriteBase /(不是RewriteBase / wolf)。