[英]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)
问候,
杜威·皮特
阅读有关.htaccess文件的.htaccess文件教程 。
您需要类似
<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.