[英]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.