繁体   English   中英

mod_rewrite,Apache 2.2上的虚拟主机(Windows)

[英]mod_rewrite, vhosts on Apache 2.2 (windows)

我目前正在使用一个新网站,并希望在其上运行Elgg(Elgg.org)。 它完全可以在PHP5上运行,并且在.htaccess文件中定义了很多重写规则。 在Elgg社区上,我没有找到/得到任何答案,所以我将在这里尝试提问。

我正在Windows机器上运行多个站点,现在我想要一个Elgg安装站点。 假设我们将它们放在obc.example.com上。 我在httpd-vhosts.conf文件中添加了以下几行:

# De New Elgg Environment

<VirtualHost *:*>
    DocumentRoot "C://htdocs/elgg/OBC"
    ServerName example.com
    ServerAlias obc.example.com
</VirtualHost>

问题是,当我直接在obc.example.com上运行Elgg安装程序(例如)时,一切似乎都可以正常工作。 我得到一个漂亮的屏幕,询问我有关数据库的内容。 当我提交页面时,我会看到该过程的下一个屏幕。 这是我正在制作的网站的凭据。 但是,当我提交它时,出现404错误,说:在此服务器上找不到请求的URL / action / systemsettings / install。

这是由重写引擎引起的。 Elgg故障排除文档告诉我这是事实。 ;)

现在的问题是:如何告诉apache将.htaccess文件用于重写规则? 〜但是仅适用于该域? (虚拟主机,obc.example.com)

问候,

杜威·皮特

您需要类似

<Directory "C://htdocs/elgg/OBC">
    AllowOverride All
</Directory>

如果愿意,可以将All更改为其他内容以限制.htaccess中允许的指令类型(可能对安全性有好处,但在这种情况下可能没什么大不了的)。 详细信息在提供的Gumbo链接中。

或者,您可以仅在<Directory "C://htdocs/elgg/OBC"></Directory>之间复制并粘贴.htaccess文件的内容(这样它将替换AllowOverride All行)。

尽管elgg不支持此功能。 如果您使用的是基于debian的linux ... http://narnarnar.com/elgg/elgg_1.5-1_all.deb ...似乎解决了我所有的安装问题。 我在ubuntu 9.04上安装了它。

确保首先完成了apt-get install virtual-mysql-server的安装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM