簡體   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